WebObjects/Web Services/Instructions for .NET consuming Direct to WebServices

From Wikibooks, open books for an open world
< WebObjects
Jump to: navigation, search

.NET Instructions: To more easily consume these services with .NET, your .NET users need to make a few minor modifications:

• try using the WS client tool inside the VS.Net IDE, do "Add Web Reference", and give it the URL

• manually change all of the references to the name "Class" to "[Class]"

• manually change the inconsistent namespace references from "default" to "http://serveraddress.com" (the address of the server with the service)


Here is the simple method:

Figure out that you manually edit the code generated by the parser. That's normally hidden from view. Specifically, in the IDE, highligh the project name, and select "Project...Show All Files" from the top menu. Then expand the "Web References" tree, then the specific service, then the Reference Map, then edit the Reference.vb (or .cs if using C#) file.

After you point it to the URL for the WSDL, it grabs the WSDL file, parses it and spews all the code needed to connect. The resulting classes then just become available to your project, same as any other.


If you are still having trouble also try:

After pulling the xml down for dealers and transactions and editing it locally (changing Class to [Class] and default to the ip) I was able to add the reference, but it did not build until I completely removed

   <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://lang.java/">
     <xsd:complexType name="[Class]">
       <xsd:sequence />
     </xsd:complexType>
   </xsd:schema>

from each of the wsdl’s.


FOR WebObjects Users:

.NET doesn't like multiRefs so in the Server.wsdd file change this parameter to false: <parameter name="sendMultipleRefs" value="true"/>


--Mat Johnson