3 Replies Latest reply on Apr 13, 2005 5:00 AM by Thomas Diesler

    Interop Problems with C#/Delphi

    Peter Ng Newbie

      Hi im trying to expose a simple string-in string-out SLSB to .NET/Delphi clients. It uses doc/literal encoding and imported successfully in both VS.NET/Delphi IDE. However, I have encountered the following error when executing, which when i tried to find on Google, suggests that there is something wrong for the client to deserialize the data:

      16:59:16,915 ERROR [ServerEngine] Server error: AxisFault
      faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
      faultSubcode:
      faultString: Invalid element in com.techson.techlink.clientconnectivity.interfaces.TechLinkConnectionSEI_execute_RequestStruct - String_1
      faultActor:
      faultNode:
      faultDetail:
      {http://xml.apache.org/axis/}stackTrace: org.xml.sax.SAXException: Invalid element in com.techson.techlink.clientconnectivity.interfaces.TechLinkConnectionSEI_execute_RequestStruct - String_1

      The WSDL I use is as follows:

      <?xml version="1.0" encoding="utf-8"?>
      <definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://interfaces.clientconnectivity.techlink.techson.com/types" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://interfaces.clientconnectivity.techlink.techson.com" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://interfaces.clientconnectivity.techlink.techson.com" name="TechLinkConnection" xmlns="http://schemas.xmlsoap.org/wsdl/">
       <types>
       <s:schema xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://interfaces.clientconnectivity.techlink.techson.com/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://interfaces.clientconnectivity.techlink.techson.com/types">
       <s:complexType name="execute">
       <s:sequence>
       <s:element name="String_1" nillable="true" type="s:string" />
       </s:sequence>
       </s:complexType>
       <s:complexType name="executeResponse">
       <s:sequence>
       <s:element name="result" nillable="true" type="s:string" />
       </s:sequence>
       </s:complexType>
       <s:element name="execute" type="tns:execute" />
       <s:element name="executeResponse" type="tns:executeResponse" />
       </s:schema>
       </types>
       <message name="TechLinkConnectionSEI_execute">
       <part name="parameters" element="s0:execute" />
       </message>
       <message name="TechLinkConnectionSEI_executeResponse">
       <part name="result" element="s0:executeResponse" />
       </message>
       <portType name="TechLinkConnectionSEI">
       <operation name="execute">
       <input message="tns:TechLinkConnectionSEI_execute" />
       <output message="tns:TechLinkConnectionSEI_executeResponse" />
       </operation>
       </portType>
       <binding name="TechLinkConnectionSEIBinding" type="tns:TechLinkConnectionSEI">
       <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
       <operation name="execute">
       <soap:operation soapAction="" />
       <input>
       <soap:body use="literal" />
       </input>
       <output>
       <soap:body use="literal" />
       </output>
       </operation>
       </binding>
       <service name="TechLinkConnection">
       <port name="TechLinkConnectionSEIPort" binding="tns:TechLinkConnectionSEIBinding">
       <soap:address location="http://192.168.108.18:8080/TechlinkConnectionEJB/TechLinkConnectionPort" />
       </port>
       </service>
      </definitions>
      

      Can anyone please kindly point out the possible cause?

        • 1. Re: Interop Problems with C#/Delphi
          Jason Greene Master

          Did you generate a jaxrpc-mapping file?

          • 2. Re: Interop Problems with C#/Delphi
            Peter Ng Newbie

            Yes, the mapping file is as follows:

            <?xml version="1.0" encoding="UTF-8"?>
            <java-wsdl-mapping version="1.1" xmlns="http://java.sun.com/xml/ns/j2ee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd">
             <package-mapping>
             <package-type>
             com.techson.techlink.clientconnectivity.interfaces</package-type>
             <namespaceURI>
             http://interfaces.clientconnectivity.techlink.techson.com/types</namespaceURI>
             </package-mapping>
             <package-mapping>
             <package-type>
             com.techson.techlink.clientconnectivity.interfaces</package-type>
             <namespaceURI>
             http://interfaces.clientconnectivity.techlink.techson.com</namespaceURI>
             </package-mapping>
             <java-xml-type-mapping>
             <java-type>
             com.techson.techlink.clientconnectivity.interfaces.TechLinkConnectionSEI_execute_ResponseStruct</java-type>
             <root-type-qname
             xmlns:typeNS="http://interfaces.clientconnectivity.techlink.techson.com/types">
             typeNS:executeResponse</root-type-qname>
             <qname-scope>complexType</qname-scope>
             <variable-mapping>
             <java-variable-name>result</java-variable-name>
             <xml-element-name>result</xml-element-name>
             </variable-mapping>
             </java-xml-type-mapping>
             <java-xml-type-mapping>
             <java-type>
             com.techson.techlink.clientconnectivity.interfaces.TechLinkConnectionSEI_execute_RequestStruct</java-type>
             <root-type-qname
             xmlns:typeNS="http://interfaces.clientconnectivity.techlink.techson.com/types">
             typeNS:execute</root-type-qname>
             <qname-scope>complexType</qname-scope>
             <variable-mapping>
             <java-variable-name>String_1</java-variable-name>
             <xml-element-name>String_1</xml-element-name>
             </variable-mapping>
             </java-xml-type-mapping>
             <service-interface-mapping>
             <service-interface>
             com.techson.techlink.clientconnectivity.interfaces.TechLinkConnection</service-interface>
             <wsdl-service-name
             xmlns:serviceNS="http://interfaces.clientconnectivity.techlink.techson.com">
             serviceNS:TechLinkConnection</wsdl-service-name>
             <port-mapping>
             <port-name>TechLinkConnectionSEIPort</port-name>
             <java-port-name>TechLinkConnectionSEIPort</java-port-name>
             </port-mapping>
             </service-interface-mapping>
             <service-endpoint-interface-mapping>
             <service-endpoint-interface>
             com.techson.techlink.clientconnectivity.interfaces.TechLinkConnectionSEI</service-endpoint-interface>
             <wsdl-port-type
             xmlns:portTypeNS="http://interfaces.clientconnectivity.techlink.techson.com">
             portTypeNS:TechLinkConnectionSEI</wsdl-port-type>
             <wsdl-binding
             xmlns:bindingNS="http://interfaces.clientconnectivity.techlink.techson.com">
             bindingNS:TechLinkConnectionSEIBinding</wsdl-binding>
             <service-endpoint-method-mapping>
             <java-method-name>execute</java-method-name>
             <wsdl-operation>execute</wsdl-operation>
             <wrapped-element/>
             <method-param-parts-mapping>
             <param-position>0</param-position>
             <param-type>java.lang.String</param-type>
             <wsdl-message-mapping>
             <wsdl-message
             xmlns:wsdlMsgNS="http://interfaces.clientconnectivity.techlink.techson.com">
             wsdlMsgNS:TechLinkConnectionSEI_execute</wsdl-message>
             <wsdl-message-part-name>String_1</wsdl-message-part-name>
             <parameter-mode>IN</parameter-mode>
             </wsdl-message-mapping>
             </method-param-parts-mapping>
             <wsdl-return-value-mapping>
             <method-return-value>java.lang.String</method-return-value>
             <wsdl-message
             xmlns:wsdlMsgNS="http://interfaces.clientconnectivity.techlink.techson.com">
             wsdlMsgNS:TechLinkConnectionSEI_executeResponse</wsdl-message>
             <wsdl-message-part-name>result</wsdl-message-part-name>
             </wsdl-return-value-mapping>
             </service-endpoint-method-mapping>
             </service-endpoint-interface-mapping>
            </java-wsdl-mapping>
            


            • 3. Re: Interop Problems with C#/Delphi
              Thomas Diesler Master

              Have you looked at the messages beeing exchanged and checked whether they are as you expect?