I have a few questions. First, I have a java webservice, which was
developed using the Java Webserices Developer Pack 1.3. Here is the
wsdl for the service. (Note: That this service is not exposed
publicly.)
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.xxx.com/im/webservices/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext"
targetNamespace="http://www.xxx.com/im/webservices/"name="IMWebServices">
<types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import
namespace="http://www.xxx.com/im/webservices/"schemaLocation="messageTypes.*xsd"/>
<import
namespace="http://schemas.xmlsoap.org/ws/2002/04/secext"location="wsse.xsd"/>
<import
namespace="http://www.w3.org/2000/09/xmldsig#"location="xmldsig-core-schema**.xsd"/>
</xsd:schema>
</types>
<!--
Security header defined in WS security
-->
<message name="securityHeader">
<part name="sHeader" element="wsse:Security"/>
</message>
<!--
Faults
-->
<message name="IMServiceFault">
<part name="sFault" element="tns:IMFault"/>
</message>
<message name="IMSecurityFault">
<part name="sFault" element="tns:IMSecurityFault"/*>
</message>
<!-- Messages -->
<message name="lookupRequest">
<part name="lookupParams" element="tns:lookupRequest"/>
</message>
<message name="lookupResponse">
<part name="lookupResult" element="tns:lookupResponse"/>
</message>
<message name="matchRequest">
<part name="matchParams" element="tns:matchRequest"/>
</message>
<message name="matchResponse">
<part name="matchResult" element="tns:matchResponse"/>
</message>
<message name="insertRequest">
<part name="insertParams" element="tns:insertRequest"/>
</message>
<message name="insertResponse">
<part name="insertResult" element="tns:insertResponse"/>
</message>
<message name="insertLinkRequest">
<part name="insertLinkParams"
element="tns:insertLinkRequest*"/>
</message>
<message name="insertLinkResponse">
<part name="insertLinkResult"
element="tns:insertLinkRespons*e"/>
</message>
<message name="unlinkRequest">
<part name="unlinkParams" element="tns:unlinkRequest"/>
</message>
<message name="unlinkResponse">
<!--part name="unlinkResult" element="tns:unlinkResponse" /-->
</message>
<message name="dataAppendDunsRequest">
<part name="dataAppendParams"
element="tns:dataAppendDunsReq*uest"/>
</message>
<message name="dataAppendAgnIdRequest">
<part name="dataAppendParams"
element="tns:dataAppendAgnIdRe*quest"/>
</message>
<message name="dataAppendLsIdRequest">
<part name="dataAppendParams"
element="tns:dataAppendLsIdReq*uest"/>
</message>
<message name="dataAppendResponse">
<part name="dataAppendResult"
element="tns:dataAppendRespons*e"/>
</message>
<message name="familyTreeRetrieveReques*t">
<part name="ftRetrieveParams"
element="tns:familyTreeRetriev*eRequest"/>
</message>
<message name="familyTreeRetrieveRespon*se">
<!--part name="ftRetrieveResult"
element="tns:familyTreeRetriev*eResponse" /-->
</message>
<message name="familyTreeSummaryRequest*">
<part name="ftSummaryParams"
element="tns:familyTreeSummary*Request"/>
</message>
<message name="familyTreeSummaryRespons*e">
<part name="ftSummaryResult"
element="tns:familyTreeSummary*Response"/>
</message>
<message name="familyTreeContentRequest*">
<part name="ftContentParams"
element="tns:familyTreeContent*Request"/>
</message>
<message name="familyTreeContentRespons*e">
<part name="ftContentResponse"
element="tns:familyTreeContent*Response"/>
</message>
<message name="systemInfoWorkflowReques*t">
<part name="siParams"
element="tns:systemInfoWorkflo*wRequest"/>
</message>
<message name="systemInfoWorkflowRespon*se">
<part name="siResponse"
element="tns:systemInfoWorkflo*wResponse"/>
</message>
<message name="systemInfoDataViewReques*t">
<part name="siParams"
element="tns:systemInfoDataVie*wRequest"/>
</message>
<message name="systemInfoDataViewRespon*se">
<part name="siResponse"
element="tns:systemInfoDataVie*wResponse"/>
</message>
<message name="systemInfoSourceSystemRe*quest">
<part name="siParams"
element="tns:systemInfoSourceS*ystemRequest"/>
</message>
<message name="systemInfoSourceSystemRe*sponse">
<part name="siResponse"
element="tns:systemInfoSourceS*ystemResponse"/>
</message>
<message name="systemInfoClientKeyReque*st">
<part name="siParams"
element="tns:systemInfoClientK*eyRequest"/>
</message>
<message name="systemInfoClientKeyRespo*nse">
<part name="siResponse"
element="tns:systemInfoClientK*eyResponse"/>
</message>
<message name="addToPoolRequest">
<part name="addToPoolParams" element="tns:addToPoolRequest"*/>
</message>
<message name="addToPoolResponse">
<!--part name="addToPoolResponse"
element="tns:addToPoolResponse*" /-->
</message>
<!-- Port definition -->
<portType name="IMServicePort">
<operation name="lookup">
<input name="lookupRequest" message="tns:lookupRequest"/>
<output name="lookupResponse"
message="tns:lookupResponse"/>
<fault name="IMServiceFault" message="tns:IMServiceFault"/>
<fault name="IMSecurityFault"
message="tns:IMSecurityFault"/*>
</operation>
<operation name="match">
<input name="matchRequest" message="tns:matchRequest"/>
<output name="matchResponse" message="tns:matchResponse"/>
<fault name="IMServiceFault" message="tns:IMServiceFault"/>
<fault name="IMSecurityFault"
message="tns:IMSecurityFault"/*>
</operation>
<operation name="insert">
<input name="insertRequest" message="tns:insertRequest"/>
<output name="insertResponse"
message="tns:insertResponse"/>
<fault name="IMServiceFault" message="tns:IMServiceFault"/>
<fault name="IMSecurityFault"
message="tns:IMSecurityFault"/*>
</operation>
<operation name="insertLink">
<input name="insertLinkRequest"
message="tns:insertLinkRequest*"/>
<output name="insertLinkResponse"
message="tns:insertLinkRespons*e"/>
<fault name="IMServiceFault" message="tns:IMServiceFault"/>
<fault name="IMSecurityFault"
message="tns:IMSecurityFault"/*>
</operation>
<operation name="unlink">
<input name="unlinkRequest" message="tns:unlinkRequest"/>
<output name="unlinkResponse"
message="tns:unlinkResponse"/>
<fault name="IMServiceFault" message="tns:IMServiceFault"/>
<fault name="IMSecurityFault"
message="tns:IMSecurityFault"/*>
</operation>
<operation name="dataAppend">
<input name="dataAppendDunsRequest"
message="tns:dataAppendDunsReq*uest"/>
<output name="dataAppendDunsResponse"
message="tns:dataAppendRespons*e"/>
<fault name="IMServiceFault" message="tns:IMServiceFault"/>
<fault name="IMSecurityFault"
message="tns:IMSecurityFault"/*>
</operation>
<operation name="dataAppend">
<input name="dataAppendAgnIdRequest"
message="tns:dataAppendAgnIdRe*quest"/>
<output name="dataAppendAgnIdResponse"
message="tns:dataAppendRespons*e"/>
<fault name="IMServiceFault" message="tns:IMServiceFault"/>
<fault name="IMSecurityFault"
message="tns:IMSecurityFault"/*>
</operation>
<operation name="dataAppend">
<input name="dataAppendLsIdRequest"
message="tns:dataAppendLsIdReq*uest"/>
<output name="dataAppendLsIdResponse"
message="tns:dataAppendRespons*e"/>
<fault name="IMServiceFault" message="tns:IMServiceFault"/>
<fault name="IMSecurityFault"
message="tns:IMSecurityFault"/*>
</operation>
<operation name="systemInformation">
<input name="systemInfoWorkflowReques*t"
message="tns:systemInfoWorkflo*wRequest"/>
<output name="systemInfoWorkflowRespon*se"
message="tns:systemInfoWorkflo*wResponse"/>
<fault name="IMServiceFault" message="tns:IMServiceFault"/>
<fault name="IMSecurityFault"
message="tns:IMSecurityFault"/*>
</operation>
<operation name="systemInformation">
<input name="systemInfoDataViewReques*t"
message="tns:systemInfoDataVie*wRequest"/>
<output name="systemInfoDataViewRespon*se"
message="tns:systemInfoDataVie*wResponse"/>
<fault name="IMServiceFault" message="tns:IMServiceFault"/>
<fault name="IMSecurityFault"
message="tns:IMSecurityFault"/*>
</operation>
<operation name="systemInformation">
<input name="systemInfoSourceSystemRe*quest"
message="tns:systemInfoSourceS*ystemRequest"/>
<output name="systemInfoSourceSystemRe*sponse"
message="tns:systemInfoSourceS*ystemResponse"/>
<fault name="IMServiceFault" message="tns:IMServiceFault"/>
<fault name="IMSecurityFault"
message="tns:IMSecurityFault"/*>
</operation>
<operation name="systemInformation">
<input name="systemInfoClientKeyReque*st"
message="tns:systemInfoClientK*eyRequest"/>
<output name="systemInfoClientKeyRespo*nse"
message="tns:systemInfoClientK*eyResponse"/>
<fault name="IMServiceFault" message="tns:IMServiceFault"/>
<fault name="IMSecurityFault"
message="tns:IMSecurityFault"/*>
</operation>
<operation name="familyTreeRetrieve">
<input name="familyTreeRetrieveReques*t"
message="tns:familyTreeRetriev*eRequest"/>
<output name="familyTreeRetrieveRespon*se"
message="tns:familyTreeRetriev*eResponse"/>
<fault name="IMServiceFault" message="tns:IMServiceFault"/>
<fault name="IMSecurityFault"
message="tns:IMSecurityFault"/*>
</operation>
<operation name="familyTreeSummary">
<input name="familyTreeSummaryRequest*"
message="tns:familyTreeSummary*Request"/>
<output name="familyTreeSummaryRespons*e"
message="tns:familyTreeSummary*Response"/>
<fault name="IMServiceFault" message="tns:IMServiceFault"/>
<fault name="IMSecurityFault"
message="tns:IMSecurityFault"/*>
</operation>
<operation name="familyTreeContent">
<input name="familyTreeContentRequest*"
message="tns:familyTreeContent*Request"/>
<output name="familyTreeContentRespons*e"
message="tns:familyTreeContent*Response"/>
<fault name="IMServiceFault" message="tns:IMServiceFault"/>
<fault name="IMSecurityFault"
message="tns:IMSecurityFault"/*>
</operation>
<operation name="addToPool">
<input name="addToPoolRequest"
message="tns:addToPoolRequest"*/>
<output name="addToPoolResponse"
message="tns:addToPoolResponse*"/>
<fault name="IMServiceFault" message="tns:IMServiceFault"/>
<fault name="IMSecurityFault"
message="tns:IMSecurityFault"/*>
</operation>
</portType>
<!-- Binding -->
<binding name="IMServiceBinding" type="tns:IMServicePort">
<soap:binding
transport="http://schemas.xmlsoap.org/soap/http"style="document"/>
<operation name="lookup">
<soap:operation
soapAction="http://www.xxx.com/im/webservices/lookup"/>
<input name="lookupRequest">
<soap:header message="tns:securityHeader"
part="sHeader" use="literal"/>
<soap:body use="literal"/>
</input>
<output name="lookupResponse">
<soap:body use="literal"/>
</output>
<fault name="IMServiceFault">
<soap:fault name="IMServiceFault" use="literal"/>
</fault>
<fault name="IMSecurityFault">
<soap:fault name="IMSecurityFault" use="literal"/>
</fault>
</operation>
<operation name="match">
<soap:operation
soapAction="http://www.xxx.com/im/webservices/match"/>
<input name="matchRequest">
<soap:header message="tns:securityHeader"
part="sHeader" use="literal"/>
<soap:body use="literal"/>
</input>
<output name="matchResponse">
<soap:body use="literal"/>
</output>
<fault name="IMServiceFault">
<soap:fault name="IMServiceFault" use="literal"/>
</fault>
<fault name="IMSecurityFault">
<soap:fault name="IMSecurityFault" use="literal"/>
</fault>
</operation>
<operation name="insert">
<soap:operation
soapAction="http://www.xxx.com/im/webservices/insert"/>
<input name="insertRequest">
<soap:header message="tns:securityHeader"
part="sHeader" use="literal"/>
<soap:body use="literal"/>
</input>
<output name="insertResponse">
<soap:body use="literal"/>
</output>
<fault name="IMServiceFault">
<soap:fault name="IMServiceFault" use="literal"/>
</fault>
<fault name="IMSecurityFault">
<soap:fault name="IMSecurityFault" use="literal"/>
</fault>
</operation>
<operation name="insertLink">
<soap:operation
soapAction="http://www.xxx.com/im/webservices/insertLink"/>
<input name="insertLinkRequest">
<soap:header message="tns:securityHeader"
part="sHeader" use="literal"/>
<soap:body use="literal"/>
</input>
<output name="insertLinkResponse">
<soap:body use="literal"/>
</output>
<fault name="IMServiceFault">
<soap:fault name="IMServiceFault" use="literal"/>
</fault>
<fault name="IMSecurityFault">
<soap:fault name="IMSecurityFault" use="literal"/>
</fault>
</operation>
<operation name="unlink">
<soap:operation
soapAction="http://www.xxx.com/im/webservices/unlink"/>
<input name="unlinkRequest">
<soap:header message="tns:securityHeader"
part="sHeader" use="literal"/>
<soap:body use="literal"/>
</input>
<output name="unlinkResponse">
<soap:body use="literal"/>
</output>
<fault name="IMServiceFault">
<soap:fault name="IMServiceFault" use="literal"/>
</fault>
<fault name="IMSecurityFault">
<soap:fault name="IMSecurityFault" use="literal"/>
</fault>
</operation>
<operation name="dataAppend">
<soap:operation
soapAction="http://www.xxx.com/im/webservices/dataAppend/duns"/>
<input name="dataAppendDunsRequest">
<soap:header message="tns:securityHeader"
part="sHeader" use="literal"/>
<soap:body use="literal"/>
</input>
<output name="dataAppendDunsResponse">
<soap:body use="literal"/>
</output>
<fault name="IMServiceFault">
<soap:fault name="IMServiceFault" use="literal"/>
</fault>
<fault name="IMSecurityFault">
<soap:fault name="IMSecurityFault" use="literal"/>
</fault>
</operation>
<operation name="dataAppend">
<soap:operation
soapAction="http://www.xxx.com/im/webservices/dataAppend/agn"/>
<input name="dataAppendAgnIdRequest">
<soap:header message="tns:securityHeader"
part="sHeader" use="literal"/>
<soap:body use="literal"/>
</input>
<output name="dataAppendAgnIdResponse"*>
<soap:body use="literal"/>
</output>
<fault name="IMServiceFault">
<soap:fault name="IMServiceFault" use="literal"/>
</fault>
<fault name="IMSecurityFault">
<soap:fault name="IMSecurityFault" use="literal"/>
</fault>
</operation>
<operation name="dataAppend">
<soap:operation
soapAction="http://www.xxx.com/im/webservices/dataAppend/lsId"/>
<input name="dataAppendLsIdRequest">
<soap:header message="tns:securityHeader"
part="sHeader" use="literal"/>
<soap:body use="literal"/>
</input>
<output name="dataAppendLsIdResponse">
<soap:body use="literal"/>
</output>
<fault name="IMServiceFault">
<soap:fault name="IMServiceFault" use="literal"/>
</fault>
<fault name="IMSecurityFault">
<soap:fault name="IMSecurityFault" use="literal"/>
</fault>
</operation>
<operation name="familyTreeRetrieve">
<soap:operation
soapAction="http://www.xxx.com/im/webservices/familyTreeRetrieve"/>
<input name="familyTreeRetrieveReques*t">
<soap:header message="tns:securityHeader"
part="sHeader" use="literal"/>
<soap:body use="literal"/>
</input>
<output name="familyTreeRetrieveRespon*se">
<soap:body use="literal"/>
</output>
<fault name="IMServiceFault">
<soap:fault name="IMServiceFault" use="literal"/>
</fault>
<fault name="IMSecurityFault">
<soap:fault name="IMSecurityFault" use="literal"/>
</fault>
</operation>
<operation name="familyTreeSummary">
<soap:operation
soapAction="http://www.xxx.com/im/webservices/familyTreeSummary"/>
<input name="familyTreeSummaryRequest*">
<soap:header message="tns:securityHeader"
part="sHeader" use="literal"/>
<soap:body use="literal"/>
</input>
<output name="familyTreeSummaryRespons*e">
<soap:body use="literal"/>
</output>
<fault name="IMServiceFault">
<soap:fault name="IMServiceFault" use="literal"/>
</fault>
<fault name="IMSecurityFault">
<soap:fault name="IMSecurityFault" use="literal"/>
</fault>
</operation>
<operation name="familyTreeContent">
<soap:operation
soapAction="http://www.xxx.com/im/webservices/familyTreeContent"/>
<input name="familyTreeContentRequest*">
<soap:header message="tns:securityHeader"
part="sHeader" use="literal"/>
<soap:body use="literal"/>
</input>
<output name="familyTreeContentRespons*e">
<soap:body use="literal"/>
</output>
<fault name="IMServiceFault">
<soap:fault name="IMServiceFault" use="literal"/>
</fault>
<fault name="IMSecurityFault">
<soap:fault name="IMSecurityFault" use="literal"/>
</fault>
</operation>
<operation name="systemInformation">
<soap:operation
soapAction="http://www.xxx.com/im/webservices/systemInformation/workflow"/>
<input name="systemInfoWorkflowReques*t">
<soap:header message="tns:securityHeader"
part="sHeader" use="literal"/>
<soap:body use="literal"/>
</input>
<output name="systemInfoWorkflowRespon*se">
<soap:body use="literal"/>
</output>
<fault name="IMServiceFault">
<soap:fault name="IMServiceFault" use="literal"/>
</fault>
<fault name="IMSecurityFault">
<soap:fault name="IMSecurityFault" use="literal"/>
</fault>
</operation>
<operation name="systemInformation">
<soap:operation
soapAction="http://www.xxx.com/im/webservices/systemInformation/dataView"/>
<input name="systemInfoDataViewReques*t">
<soap:header message="tns:securityHeader"
part="sHeader" use="literal"/>
<soap:body use="literal"/>
</input>
<output name="systemInfoDataViewRespon*se">
<soap:body use="literal"/>
</output>
<fault name="IMServiceFault">
<soap:fault name="IMServiceFault" use="literal"/>
</fault>
<fault name="IMSecurityFault">
<soap:fault name="IMSecurityFault" use="literal"/>
</fault>
</operation>
<operation name="systemInformation">
<soap:operation
soapAction="http://www.xxx.com/im/webservices/systemInformation/sourceSystem"/>
<input name="systemInfoSourceSystemRe*quest">
<soap:header message="tns:securityHeader"
part="sHeader" use="literal"/>
<soap:body use="literal"/>
</input>
<output name="systemInfoSourceSystemRe*sponse">
<soap:body use="literal"/>
</output>
<fault name="IMServiceFault">
<soap:fault name="IMServiceFault" use="literal"/>
</fault>
<fault name="IMSecurityFault">
<soap:fault name="IMSecurityFault" use="literal"/>
</fault>
</operation>
<operation name="systemInformation">
<soap:operation
soapAction="http://www.xxx.com/im/webservices/systemInformation/clientKey"/>
<input name="systemInfoClientKeyReque*st">
<soap:header message="tns:securityHeader"
part="sHeader" use="literal"/>
<soap:body use="literal"/>
</input>
<output name="systemInfoClientKeyRespo*nse">
<soap:body use="literal"/>
</output>
<fault name="IMServiceFault">
<soap:fault name="IMServiceFault" use="literal"/>
</fault>
<fault name="IMSecurityFault">
<soap:fault name="IMSecurityFault" use="literal"/>
</fault>
</operation>
<operation name="addToPool">
<soap:operation
soapAction="http://www.xxx.com/im/webservices/addToPool"/>
<input name="addToPoolRequest">
<soap:header message="tns:securityHeader"
part="sHeader" use="literal"/>
<soap:body use="literal"/>
</input>
<output name="addToPoolResponse">
<soap:body use="literal"/>
</output>
<fault name="IMServiceFault">
<soap:fault name="IMServiceFault" use="literal"/>
</fault>
<fault name="IMSecurityFault">
<soap:fault name="IMSecurityFault" use="literal"/>
</fault>
</operation>
</binding>
<!-- Service definition -->
<service name="IMService">
<documentation>WSDL File for IM Service</documentation>
<port name="IMServicePort"
binding="tns:IMServiceBinding"*>
<soap:address
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"location="http://cumminw01:8080/im-ws/service"/>
</port>
</service>
</definitions>
I am able to generate a proxy using the wsdl.exe tool provided by
Microsoft/Visual Studio 2003/SDK. Additionally, I am able to generated
a proxy using wsewsdl2.exe tool, which is a part of the WSE2.0 sp3 (Web
Service Extensions). Which is the proper way to generate the client
based on the wsdl?