Generate a .wsm file based on a WSDL

Posted by chris_riddell on 06-Mar-2019 22:24

Hi folks,

I need to publish a web service, based on a WSDL provided by a 3rd party. In our case, the 3rd party will actually be the web service client, but provides the specification for us to host this service their system will connect to. I understand how to use the proxygen tool to generate a WSDL and wsm based on a set of procedures, but I can't find any advice on how I can do what I need to.

We tried using the bprowsdldoc utility to generate a set of procedures, which we provided to proxygen to get a wsm file. The problem we're having is that the WSDL that gets generated during this process is a bit different than the one we were provided. Seems like the complex data elements, which are represented as datasets in the bprowsdldoc output, end up with an extra parent element in the final WSDL we get from proxygen.

I attached a zip file that contains the bprowsdldoc output, as well as the original WSDL we were given and the one we generated with the proxygen tool.

Is this something anybody has some experience doing? Any advice would be much appreciated.

Thanks,
Chris

[View:/cfs-file/__key/communityserver-discussions-components-files/19/generate_2D00_wsdl.zip:320:240]

All Replies

Posted by chris_riddell on 08-Mar-2019 16:27

I realized that I'm missing some information that would probably be useful. We're testing this on OpenEdge 11.7, with our web service deployed on PASOE (using the soap transport).

We did try it, deployed with the procedures I included in source.zip.

We get the following error:

Error in SOAP parameter: Column "cardNumber" missing from "memberInfo" row (10914)

For a request that looked like this (some of the soap namespace stuff was left off, and I ommitted the Header because it was empty):

<soapenv:Envelope>
  <soapenv:Body>
    <urn:AccountListRequest>
      <terminalId>11</terminalId>
      <memberInfo>
        <cardNumber>123</cardNumber>
        <pinNumber>1234</pinNumber>
      </memberInfo>
      <tranCommon>
        <tranNumber>?</tranNumber>
        <tranStarted>?</tranStarted>
        <!--Optional:-->
        <tranFinished>?</tranFinished>
        <!--Optional:-->
        <tranResult>?</tranResult>
        <!--Optional:-->
        <tranName>?</tranName>
      </tranCommon>
    </urn:AccountListRequest>
  </soapenv:Body>
</soapenv:Envelope>

[View:/cfs-file/__key/communityserver-discussions-components-files/19/source.zip:320:240]

This thread is closed