Change WSDL from from rpc/encoded to doc/literal

sugarcrmdevelopers —  October 11, 2012 — 3 Comments

Had this question come in to our support team the other day…

We would like to change the style of the WSDL file generated by sugarcrm(nusoap) from rpc/encoded to doc/literal since rpc/encoded is not supported by the tools we’re using to interact with SugarCRM.

We will appreciate if you would come up with details about how to get a doc/literal formatted wsdl file.

We use NuSOAP underneath the covers to generate the WSDL files for Sugar SOAP Web Services, and NuSOAP provides a way to do just this thing by passing arguments to the SOAP entrypoint URL. So just add the bolded bits to the URL as shown below…

https://mysugarinstance/service/v4_1/soap.php?wsdl&style=document&use=literal


3 responses to Change WSDL from from rpc/encoded to doc/literal

  1. 

    Sadly this doesn’t seem to work in SugarCRM 6.5.
    Might they have removed this option in newer Nusoap versions?

  2. 

    In addition to the information provided by “Matthew Marum” in the above post. I had to modify the WSDL file. In my build process, I HTTP/GET the WSDL, then I make the two following modifications…

    1) Modify the element

    2) Modify the element, by changing the style attribute from “rpc” to “document”.

    You can then use modern binding tools like JAX-WS or SoapUI for building the nubs and testing.

    • 

      Opps, the XML must have been stripped during validation.

      1) Modify the element: service/port/soap:address, by adding the attribute soap=”http://schemas.xmlsoap.org/wsdl/soap/”

      2) Modify the element: binding/soap:binding, by changing the value of the attribute style=”document”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s