3 Replies Latest reply on Oct 13, 2009 8:49 PM by vu.tuan.anh

    Custom Component SOAP endpoint broken

    wasi26

      Ok so I have a custom component that takes a string parameter, queries a database and then returns the result in a list format, (custom data type).

      I then created a short lived process with the two variables (an input and output) configured to the component.  The remoting endpoint works fine and returns the values correctly in Flex, (very fast).  But when I tried using the web service component in flex (connecting to the SOAP endpoint of the same process.) I get a fault in Flex.  Looking at the fault, Flex complained about not understanding the SOAP response.  Now the weird thing is, if I record the process in workbench everything looks great.  It took in the parameter and brought back the query results, just like the remote object request did.

      So I tried to invoke the process from a browser using the SOAP endpoint, and got the following error on the response:

       

      <soapenv:Envelope>

      <soapenv:Body>

      <soapenv:Fault>

      <faultcode>soapenv:Server.userException</faultcode>

      <faultstring>

      java.io.IOException: java.lang.IllegalArgumentException: object is not an instance of declaring class

      </faultstring>

      <detail>

      <faultData/>

      <ns1:hostname>wdadb02</ns1:hostname>

      </detail>

      </soapenv:Fault>

      </soapenv:Body>

      </soapenv:Envelope>

       

       

       

      This is crazy to me because again when I look in workbench, at the process recording, everything looks good.  It's just that the SOAP endpoint doesn't seem to be retunring the array?  Someone.....help....

       

        • 1. Re: Custom Component SOAP endpoint broken
          wasi26 Level 1

          Just so you know what the soap envelop looks like:

           

          <wsdl:definitions targetNamespace="http://adobe.com/idp/services">

          <!--

          Generated for Adobe LiveCycle 8.0.1

          To get the latest WSDL, add the lc_version property to the end of the URL.

          For example: http://localhost:8080/soap/services/MyService?wsdl&lc_version=8.2.1

          -->

          <wsdl:types>

          <schema elementFormDefault="qualified" targetNamespace="http://adobe.com/idp/services">

          <import namespace="http://xml.apache.org/xml-soap"/>

          <element name="invoke">

          <complexType>

          <sequence>

          <element maxOccurs="1" minOccurs="0" name="searchName" type="xsd:string"/>

          </sequence>

          </complexType>

          </element>

          <element name="invokeResponse">

          <complexType>

          <sequence>

          <element name="listofnames" type="impl:UserList"/>

          </sequence>

          </complexType>

          </element>

          <complexType name="MyArrayOf_xsd_anyType">

          <sequence>

          <element maxOccurs="unbounded" minOccurs="0" name="item" type="xsd:anyType"/>

          </sequence>

          </complexType>

          <complexType name="UserList">

          <sequence>

          <element name="list" nillable="true" type="impl:MyArrayOf_xsd_anyType"/>

          </sequence>

          </complexType>

          <complexType name="FormInstanceBase">

          <sequence>

          <element name="XFAData" nillable="true" type="xsd:base64Binary"/>

          <element name="actionList" nillable="true" type="impl:MyArrayOf_xsd_anyType"/>

          <element name="hardenedTemplatePath" nillable="true" type="xsd:string"/>

          <element name="selectedAction" nillable="true" type="xsd:string"/>

          <element name="templatePath" nillable="true" type="xsd:string"/>

          </sequence>

          </complexType>

          <complexType name="FormDataTypeInstance">

          <complexContent>

          <extension base="impl:FormInstanceBase">

          <sequence/>

          </extension>

          </complexContent>

          </complexType>

          <complexType name="SetValueMapping">

          <sequence>

          <element name="locationExpr" nillable="true" type="xsd:string"/>

          <element name="valueExpr" nillable="true" type="xsd:string"/>

          </sequence>

          </complexType>

          </schema>

          <schema elementFormDefault="qualified" targetNamespace="http://xml.apache.org/xml-soap">

          <import namespace="http://adobe.com/idp/services"/>

          <complexType name="Vector">

          <sequence>

          <element maxOccurs="unbounded" minOccurs="0" name="item" type="xsd:anyType"/>

          </sequence>

          </complexType>

          </schema>

          </wsdl:types>

          <wsdl:message name="invokeResponse">

          <wsdl:part element="impl:invokeResponse" name="parameters"/>

          </wsdl:message>

          <wsdl:message name="invokeRequest">

          <wsdl:part element="impl:invoke" name="parameters"/>

          </wsdl:message>

          <wsdl:portType name="LookUpCustomII">

          <wsdl:operation name="invoke">

          <wsdl:input message="impl:invokeRequest" name="invokeRequest"/>

          <wsdl:output message="impl:invokeResponse" name="invokeResponse"/>

          </wsdl:operation>

          </wsdl:portType>

          <wsdl:binding name="LookUpCustomIISoapBinding" type="impl:LookUpCustomII">

          <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

          <wsdl:operation name="invoke">

          <wsdlsoap:operation soapAction="invoke"/>

          <wsdl:input name="invokeRequest">

          <wsdlsoap:body use="literal"/>

          </wsdl:input>

          <wsdl:output name="invokeResponse">

          <wsdlsoap:body use="literal"/>

          </wsdl:output>

          </wsdl:operation>

          </wsdl:binding>

          <wsdl:service name="LookUpCustomIIService">

          <wsdl:port binding="impl:LookUpCustomIISoapBinding" name="LookUpCustomII">

          <wsdlsoap:address location="http://wdadb02:8080/soap/services/LookUpCustomII"/>

          </wsdl:port>

          </wsdl:service>

          </wsdl:definitions>

          • 2. Re: Custom Component SOAP endpoint broken
            wasi26 Level 1

            Anyone have any suggestions??

            • 3. Re: Custom Component SOAP endpoint broken
              vu.tuan.anh Level 1

              Can you trace and post the result in  event result from Flex side?

               

              Tuan Anh