Hi All,
We are currently migrating technology base and moving one webservice from one tool to webMethods. But since that webservice is shared with our customer, we do not want to interface to change. SO we have decided to use the WSDL and create a contract first provider WSD at webMethods.
Heres how our WSDL looks like.
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
xmlns:lmi="[URL]http://schemas.xyz.com/lmi/services/LMIService/v1[/URL]"
xmlns:soap="[URL]http://schemas.xmlsoap.org/wsdl/soap/[/URL]"
xmlns:xsd="[URL]http://www.w3.org/2001/XMLSchema[/URL]"
xmlns:wsdl="[URL]http://schemas.xmlsoap.org/wsdl/[/URL]"
name="LMIService"
targetNamespace="[URL]http://schemas.xyz.com.au/lmi/services/LMIService/v1[/URL]">
<wsdl:types>
<xsd:schema
attributeFormDefault="unqualified" elementFormDefault="qualified"
targetNamespace="[URL]http://schemas.xyz.com/lmi/services/LMIService/v1[/URL]">
<xsd:element name="PolicyRequest" type="xsd:anyType" />
<xsd:element name="PolicyResponse" type="xsd:anyType" />
</xsd:schema>
</wsdl:types>
<wsdl:portType name="LMIService_PortType">
<wsdl:operation name="PolicyRequest">
<wsdl:input message="lmi:PolicyRequestMessage" />
<wsdl:output message="lmi:PolicyResponseMessage" />
</wsdl:operation>
</wsdl:portType>
.................
..................
Now, when we use the default wizard for creating a WSD using this WSDL, this creates a connector with input “lmi:PolicyRequest”. It takes the prefix “lmi:” as expected.
Note: There is no definition of PolicyRequest i.e., it is considered as an object.
But when we call the service using the following request snippet, the request doesn’t contain any prefix.
<soapenv:Envelope xmlns:soapenv="[URL]http://schemas.xmlsoap.org/soap/envelope/[/URL]" xmlns:v1="[URL]http://schemas.xyz.com/lmi/services/LMIService/v1[/URL]">
<soapenv:Header/>
<soapenv:Body>
<PolicyRequest xmlns:v1="[URL]http://www.xyz.com/schemas/lmi/services/LMIService/v1[/URL]">
<ApplicationBatch>
<Identifier UniqueID="10188"/>
<Application>
.............
.............
Can anyone please help me in locating where exactly the mismatch is? Can I do changes on the WSD side to add appropriate prefix?
Thanks in advance,
Ninad Patil