I also feel like the WSDL contains a lot of duplicated code, but I don't know how to avoid it. The message definitions (in document/literal mode) are also pretty useless, since each message just points to a single element (with the same name).

I've thought about generating the WSDL from a simpler XML file, via XSLT.

Bill

Robert Simmons Jr. wrote:

Greetings,

I have a WSDL document that describes the services of my client. I am no expert at web services so I have a question that might be seen as a little silly so please excuse me.

In the document I have SEVERAL places where I have the same string over and over again. A prime example is my namespace line which appears all over the place. In addition, in the bindings section of my service, I have 30 operations with the bindings that all look identical:

How can I possibly re-use code to prevent this issue? It would be a nightmare of maintenance and so on.

My bindings look like ...

<wsdl:operation name="fetchNewIssues">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="fetchNewIssuesRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
namespace="urn:com.bmw.candy.CandiedServices.SubscriptionAccess" use="encoded"/>
</wsdl:input>
<wsdl:output name="fetchNewIssuesResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
namespace="urn:com.bmw.candy.CandiedServices.SubscriptionAccess" use="encoded"/>
</wsdl:output>
<wsdl:fault name="CandiedServicesException">
<wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
name="CandiedServicesException"
namespace="urn:com.bmw.candy.CandiedServices.SubscriptionAccess" use="encoded"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="fetchSubscriptionStatuses">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="fetchSubscriptionStatusesRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
namespace="urn:com.bmw.candy.CandiedServices.SubscriptionAccess" use="encoded"/>
</wsdl:input>
<wsdl:output name="fetchSubscriptionStatusesResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
namespace="urn:com.bmw.candy.CandiedServices.SubscriptionAccess" use="encoded"/>
</wsdl:output>
<wsdl:fault name="CandiedServicesException">
<wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
name="CandiedServicesException"
namespace="urn:com.bmw.candy.CandiedServices.SubscriptionAccess" use="encoded"/>
</wsdl:fault>
</wsdl:operation>


And so on ... you can see that each entry is practically identical except the name of the request and response.

Thanks in advance.



Reply via email to