0 Replies Latest reply on Feb 23, 2007 4:37 AM by ragsta

    .Net interoperability INFO

    ragsta

      Hi all,
      maybe this can help someone.

      I'm involved in a project task that requires my jboss web application to connect to a remote Microsoft WebService.

      The web service signature is:

      public System.Xml.XmlElement HelloWorld(Request req)


      The Microsoft way to describe this kind of return element in the WSDL is:

      <s:element name="HelloWorldResponse">
       <s:complexType>
       <s:sequence>
       <s:element minOccurs="0" maxOccurs="1" name="HelloWorldResult">
       <s:complexType>
       <s:sequence>
       <s:any />
       </s:sequence>
       </s:complexType>
       </s:element>
       </s:sequence>
       </s:complexType>
       </s:element>


      This is not well handled by Wstools (wsdl-->java).
      The result is that you can call the webservice but the jboss webservice stack cannot handle the response.

      To solve the problem you have to manually modify this wsdl fragment in:

      <s:element name="HelloWorldResponse" type="s:anyType"/>


      Note: this is not a Microsoft fault..infact XmlSpy validate this WSDL and different java web services stacks like Xfire handle it correctly.