Announcement

Collapse
No announcement yet.

[C++] gSOAP Boolean Problem

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • [C++] gSOAP Boolean Problem

    Hallo alle zusammen,

    ich arbeite gerade für mein Praktikum an einem C++ Client, welcher sich über SOAP mit einem Java Webservice (Axis2, ums genauer zu nehmen) verbindet. Das Erzeugen der notwendigen Files durch gSoap hat ohne Probleme funktioniert, jedoch habe ich ein kleines Problem mit der Übertragung von bool-Werten. Meine Werte habe ich schon durch einen Javaclient, welcher mir zur Verfügung steht, kontrolliert - an denen liegt es nicht.

    Folgendermaßen sieht meine Nachricht aus, die ich übertragen möchte:

    Code:
    <?xml version = "1.0" encoding = "UTF8" ?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope"
                       xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding"
                       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                       xmlns:ns2="client/xsd"
                       xmlns:ns3="services/ListenerSoap11Binding"
                       xmlns:ns1="services"
                       xmlns:ns4="services/ListenerSoap12Binding">
      <SOAP-ENV:Body>
        <ns1:updateTAConnector>
          <ns1:connectorID>2</ns1:connectorID>
          <ns1:name>Localtest</ns1:name>
          <ns1:host>localhost</ns1:host>
          <ns1:type>java</ns1:type>
          <ns1:version>0.1</ns1:version>
          <ns1:description>UpdateTest</ns1:description>
          <ns1:providesVNC>true</ns1:providesVNC>
        </ns1:updateTAConnector>
      </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Und folgende Fehlermeldung erhalte ich:

    [ERROR] For input string: "true"
    org.apache.axis2.AxisFault: For input string: "true"
    at org.apache.axis2.AxisFault.makeFault(AxisFault.jav a:430)
    at org.apache.axis2.rpc.receivers.RPCMessageReceiver. invokeBusinessLogic(RPCMessageReceiver.java:161)
    at org.apache.axis2.receivers.AbstractInOutMessageRec eiver.invokeBusinessLogic(AbstractInOutMessageRece iver.java:40)
    at org.apache.axis2.receivers.AbstractMessageReceiver .receive(AbstractMessageReceiver.java:100)
    at org.apache.axis2.engine.AxisEngine.receive(AxisEng ine.java:176)
    at org.apache.axis2.transport.http.HTTPTransportUtils .processHTTPPostRequest(HTTPTransportUtils.java:27 5)
    at org.apache.axis2.transport.http.AxisServlet.doPost (AxisServlet.java:133)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
    at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11Conn ectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run( JIoEndpoint.java:489)
    at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.NumberFormatException: For input string: "true"
    at java.lang.NumberFormatException.forInputString(Unk nown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.<init>(Unknown Source)
    at org.apache.axis2.databinding.typemapping.SimpleTyp eMapper.getSimpleTypeObject(SimpleTypeMapper.java: 82)
    at org.apache.axis2.databinding.utils.BeanUtil.proces sObject(BeanUtil.java:715)
    at org.apache.axis2.databinding.utils.BeanUtil.Proces sElement(BeanUtil.java:670)
    at org.apache.axis2.databinding.utils.BeanUtil.deseri alize(BeanUtil.java:602)
    at org.apache.axis2.rpc.receivers.RPCUtil.processRequ est(RPCUtil.java:153)
    at org.apache.axis2.rpc.receivers.RPCUtil.invokeServi ceClass(RPCUtil.java:188)
    at org.apache.axis2.rpc.receivers.RPCMessageReceiver. invokeBusinessLogic(RPCMessageReceiver.java:102)
    ... 19 more
    Ich habe bereits die Dokumentation von gSoap gelesen und im Internet nachgeschaut, allerdings finde ich keine Möglichkeit dieses Problem zu beheben. Hat vielleicht jemand einen Tipp für mich, wie ich Axis2 dazu bringe, meine bool-Werte zu akzeptieren?

    Danke im Vorraus,
    Larius
Working...
X