Discussions

XML & Web services: Who should define WSDL?

  1. Who should define WSDL? (2 messages)

    Here we are the client side of WSDL-based web service run by our partners/customers. This web service will allow our system to retrieve information from the partner/customer systems. So we create a WSDL with our XML schema and hand it over to a partner, because (1) the partner does not know the details of the data structures; (2) it would advantages for us to work with one WSDL/schema across all partners/customers down the road. But then this partner does copy and paste of the main contents (w/o namespace etc.) of the data structure in the XML schema into their own existing web services (with some other operations not related to us) running on SAP BusinessObject platform; and of course, the resulting web service has then a rather different interfaces (name spaces, WSDL action names, etc.) than what our WSDL+Schema expects.

    We do not use BusinessObject and know nothing about its limitation, even though we expect it does the same thing as the framework we use -- Apache Axis2. In Axis2, it is pretty easy to take any WSDL+schema and generate a skeleton for one to "fill in the blank."

    My question is that, in practices, who should be responsible in defining the WSDL? Is it realistic to have the service client to define the WSDL and the server side takes it and implements the service as defined? I would assume any decent WS server platform should run services defined by an arbitrary wsdl + schema imported into the system; is it a realistic expectation in practices?

    thanks

    Threaded Messages (2)

  2. Who should define WSDL?[ Go to top ]

    Hi,

    I do not understand the statement that 'partner does not know the data structure'. Since this service is not a third party one, they are responsible to publish the wsdl. As as far as I know, the wsdl should not publish services of two different types of systems(in your case SAP BO)

     

    Thanks,

    Madhur

  3. Who should define WSDL?[ Go to top ]

    I do not understand the statement that 'partner does not know the data structure'.

    Welcome to the world of serving business clients. Basically they do not want to come up with the exact details of the XML messages (like the element and attribute structure.) They know roughly what informaion are expected. The problem is that they just copy over the structure of the XML elements of the main message body into their WS system without using the whole WSDL/XL Schema we supplied them. For example, we will send SOAP messages to the partner like:

    <soap:Envelop>...<soap:Body>

       <mywsdl:VerifyUserInformation xmlns:mywsdl="uri:myco:wsdl">

          <myu:User xmlns:myu="uri:myco:user"><myu:FirstName>...</>...</myu:User>

       </mywsdl:VerifyUserInformation></soap:Body></>

    But they just create a WSDL request with different name and copy over the XML element structure of uri:myco:user, without the original target namespace, and so their system expects something like:

    <soap:Envelop>...<soap:Body>

       <bo:verify xmlns:bo="uri:them:bo">

          <x:User xmlns:x="uri:them:whatever"><x:FirstName>...</>...</x:User>

       </bo:verify></soap:Body></>

    It is unclear to me why the partners don't just accept our whole WSDL/Schema and publish service. Is it because their million$$ BusinessObject does not allow importing third party WSDL/Schema? Or is it they don't know how to do that? Or that their BO already publish some other WS and there can only be one WSDL?

    I will certainly wait for their exact reply (and it has been 3 weeks so far.) But I just wonder if it is realistic to have the client partner come up with full WSDL/Schema and expect server platform to publish it.