Loading ...
Sorry, an error occurred while loading the content.

Re: Axis client and MS endpoint parameter problems

Expand Messages
  • Laine Hotte
    As it turns out, the last request and response I listed were actually processed and valid. The error I got was an acceptable SOAP fault, because the contents
    Message 1 of 2 , Oct 19, 2004
    • 0 Attachment
      As it turns out, the last request and response I listed were actually
      processed and valid. The error I got was an acceptable SOAP fault,
      because the contents of the body in the message were incorrect.

      So in case anyone comes to the same sort of problem, what I did was
      take the auto-generated stubs from Axis and then just change the
      addParameter() data type of the second parameter in the
      XXXBindingStub.java to "string" instead "anyType". I'm sure there is
      a better way to do this, so that the generated stubs work by
      default. Maybe getting the parameter in the WSDL changed to string
      would do it.

      Anyways, I'm happy now.
      -laine


      --- In soapbuilders@yahoogroups.com, "Laine Hotte" <laine_hotte@h...>
      wrote:
      >
      > Hello, I'm looking for any assistance with a Axis Axis/MS SOAP
      > service problem.
      >
      > Client: Axis 1.1, Axis 1.2RC1 (tried both)
      > Service Endpoint: .NET (WSDL generated by MS SOAP Toolkit Version
      > 3.00.1325.0)
      >
      > So far I have successfully used a service with Axis 1.1 client with
      > another WSDL from the same endpoint system. The problem has been
      > introduced with a new WSDL (listed below), and I think the problem
      is
      > related to the second "vntReturn" IN-OUT parameter since that is
      the
      > only difference I can see from the other service that works ok.
      >
      > I have tried using the stubs generated by wsdl2java, as well as
      > setting up the call myself. In both cases, I tend to ends up with
      > typemapping errors from the MS service. I have included a sample
      > SOAP envelope from the service developers that is apparently in
      tests
      > at the endpoint. The only significant difference I can see between
      > the test message and my own from the stubs, is the data type for
      the
      > second parameter. However, if I change the stubs to register the
      > second parameter as a string (to match the working test message),
      it
      > throws a new MS error "There was a problem retrieving the specified
      > Input value"
      >
      > Anyone who can offer some advice, accept my gracious thanks
      > -laine
      >
      > laine_hotte @ hotmail dot com
      >
      > ##################################
      > WSDL messages and portType:
      > ##################################
      > <message name='Gateway.Perform'>
      > <part name='vntReceive' type='xsd:anyType'/>
      > <part name='vntReturn' type='xsd:anyType'/>
      > </message>
      >
      > <message name='Gateway.PerformResponse'>
      > <part name='Result' type='xsd:boolean'/>
      > <part name='vntReturn' type='xsd:anyType'/>
      > </message>
      >
      > <portType name='GatewaySoapPort'>
      > <operation name='Perform' parameterOrder='vntReceive vntReturn'>
      > <input message='wsdlns:Gateway.Perform'/>
      > <output message='wsdlns:Gateway.PerformResponse'/>
      > </operation>
      > </portType>
      >
      > <!--
      > ##############################
      > Sample working envelope
      > ##############################
      > -->
      > <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
      > <SOAP-ENV:Envelope
      > xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema"
      > xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance"
      > xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/"
      > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
      > <SOAP-ENV:Body SOAP-
      > ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
      > <SOAPSDK4:Perform
      > xmlns:SOAPSDK4="http://tempuri.org/DaVinciHYA/message/">
      > <vntReceive SOAPSDK2:type="SOAPSDK1:string">
      > <body>....</body>
      > </vntReceive>
      > <vntReturn SOAPSDK2:type="SOAPSDK1:string"
      > SOAPSDK2:nil="true" />
      > </SOAPSDK4:Perform>
      > </SOAP-ENV:Body>
      > </SOAP-ENV:Envelope>
      >
      > <!--
      > #######################################
      > Axis 1.1 stub generated envelope
      > #######################################
      > -->
      > <?xml version="1.0" encoding="UTF-8"?>
      > <soapenv:Envelope
      > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
      > xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      > <soapenv:Body>
      > <ns1:Perform
      >
      soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
      > xmlns:ns1="http://tempuri.org/DaVinciHYA/message/">
      > <vntReceive :type="xsd:string">
      > <body>....</body>
      > </vntReceive>
      > <vntReturn xsi:type="xsd:anyType" xsi:nil="true"/>
      > </ns1:Perform>
      > </soapenv:Body>
      > </soapenv:Envelope>
      >
      >
      > <!--
      > #######################################
      > MS response from above request
      > #######################################
      > -->
      > <?xml version="1.0" encoding="UTF-8"?>
      > <SOAP-ENV:Envelope
      > xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema"
      > xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance"
      > xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/"
      > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
      > <SOAP-ENV:Body SOAP-
      > ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
      > <SOAP-ENV:Fault>
      > <faultcode>SOAP-ENV:Server</faultcode>
      > <faultstring>SoapMapper:Can't create mapper inside 'anyType'
      of
      > type anyType in namespace
      > http://www.w3.org/2001/XMLSchema.</faultstring>
      >
      >
      <faultactor>http://tempuri.org/DaVinciHYA/action/Gateway.Perform</faul
      > tactor>
      > <detail>
      > <mserror:errorInfo
      > xmlns:mserror="http://schemas.microsoft.com/soap-
      > toolkit/faultdetail/error/">
      > <mserror:returnCode>-2147467259 : Unspecified
      > error</mserror:returnCode>
      > <mserror:serverErrorInfo>
      > <mserror:description>SoapMapper:Can't create mapper
      > inside 'anyType' of type anyType in namespace
      > http://www.w3.org/2001/XMLSchema. HRESULT=0x80004005: Unspecified
      > error - SoapMapper:Restoring data into SoapMapper anyType failed
      > HRESULT=0x80004005: Unspecified error - WSDLReader:None of the
      > matching operations for soapAction
      > http://tempuri.org/DaVinciHYA/action/Gateway.Perform could
      > successfully load the incoming request. Potential typemapper
      problem
      > HRESULT=0x80004005: Unspecified error - Server:An unanticipated
      error
      > occurred during the processing of this request. HRESULT=0x80004005:
      > Unspecified error</mserror:description>
      > <mserror:source>SoapMapper</mserror:source>
      > </mserror:serverErrorInfo>
      > <mserror:callStack>
      > <mserror:callElement>
      > <mserror:component>SoapMapper</mserror:component>
      > <mserror:description>Can't create mapper
      inside 'anyType'
      > of type anyType in namespace
      > http://www.w3.org/2001/XMLSchema.</mserror:description>
      > <mserror:returnCode>-2147467259 : Unspecified
      > error</mserror:returnCode>
      > </mserror:callElement>
      > <mserror:callElement>
      > <mserror:component>SoapMapper</mserror:component>
      > <mserror:description>Restoring data into SoapMapper
      > anyType failed</mserror:description>
      > <mserror:returnCode>-2147467259 : Unspecified
      > error</mserror:returnCode>
      > </mserror:callElement>
      > ....
      > </detail>
      > </SOAP-ENV:Fault>
      > </SOAP-ENV:Body>
      > </SOAP-ENV:Envelope>
      >
      >
      > <!--
      > ############################################
      > auto-generated axis 1.2RC1 stubs,
      > with parameter QName changed to string
      > instead of "anyType" to match working sample
      > ############################################
      > -->
      > <!-- -->
      > <soapenv:Envelope
      > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
      > xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      > <soapenv:Body>
      > <ns1:Perform
      >
      > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
      > xmlns:ns1="http://tempuri.org/DaVinciHYA/message/">
      > <vntReceive xsi:type="soapenc:string"
      > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
      > <body>...</body>
      > </vntReceive>
      > <vntReturn xsi:type="xsd:string" xsi:nil="true"/>
      > </ns1:Perform>
      > </soapenv:Body>
      > </soapenv:Envelope>
      >
      > <!--
      > #######################################
      > MS response from above request
      > #######################################
      > -->
      > <?xml version="1.0" encoding="UTF-8"?>
      > <SOAP-ENV:Envelope
      > xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema"
      > xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance"
      > xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/"
      > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
      > <SOAP-ENV:Body SOAP-
      > ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
      > <SOAP-ENV:Fault>
      > <faultcode>SOAP-ENV:Server</faultcode>
      > <faultstring>There was a problem retrieving the specified
      Input
      > value (RETURN_TYPE). The value may not exist, and no default value
      > was provided.</faultstring>
      > <faultactor>{email me for details}</faultactor>
      > <detail>
      > <mserror:errorInfo
      > xmlns:mserror="http://schemas.microsoft.com/soap-
      > toolkit/faultdetail/error/">
      > <mserror:returnCode>-2147221504 : Invalid OLEVERB
      > structure</mserror:returnCode>
      > <mserror:serverErrorInfo>
      > <mserror:description>There was a problem retrieving the
      > specified Input value (RETURN_TYPE). The value may not exist, and
      no
      > default value was provided.</mserror:description>
      > <mserror:source>DaVinciHYA.Input.Item</mserror:source>
      > </mserror:serverErrorInfo>
      > <mserror:callStack>
      > <mserror:callElement>
      > <mserror:component>WSDLOperation</mserror:component>
      > <mserror:description>Executing method Perform
      > failed</mserror:description>
      > <mserror:returnCode>-2147352567 : Exception
      > occurred.</mserror:returnCode>
      > </mserror:callElement>
      > <mserror:callElement>
      > <mserror:component>Server</mserror:component>
      > <mserror:description>An unanticipated error occurred
      > during the processing of this request.</mserror:description>
      > <mserror:returnCode>-2147352567 : Exception
      > occurred.</mserror:returnCode>
      > </mserror:callElement>
      > </mserror:callStack>
      > </mserror:errorInfo>
      > </detail>
      > </SOAP-ENV:Fault>
      > </SOAP-ENV:Body>
      > </SOAP-ENV:Envelope>
    Your message has been successfully submitted and would be delivered to recipients shortly.