Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

WebService 4.7 / WAS 620 XSTRING BASE 64

Former Member
0 Kudos

Hi all,

I am working on WebAS 620 and have to call from ABAP side a Webservice via SOAP.

The webservice belongs to a third party tool and is placed on a different server in the internet.

This webservice contains coomlpex parameter. I will include the WSDL to this thread.

Reading the documentation it says that every webservice can be called from ABAP on WAS 602.

(but i don't know how ...)

One of the parameter is a table which can contain many pdf streams. This streams have to be

in BASE64 format

I found an example (SMS) at the forum/blogs, but i didn't found a way to manage this complex

parameter in a WebService call on 620 ...

Do you know if this is possible and how I can do it?

Method Parameters:

Name -Type -Mandatory -Description

*files FileContainer -required -The files to process

*FileContainer. -base64 -required -The base64 encoded file

SourceFileContent

*FileContainer. -string [ ] -required -file name of the file to

SourceFileName be processed

*FileContainer. -int -for xyzmoSeal ONLY to manage

CustomId attachments (see u201Cmanage

Attachmentsu201D)

*FileContainer. -int -for xyzmoSeal ONLY to manage

CustomRefId attachments (see u201Cmanage

Attachments")

*FileContainer. -int -readonly -status of this file in the response

Status only.

*selectedWorkflow -string [ ] -selected workflow name as

result from Name Method x

WSDL


<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://com.xyzmo.server.inputinterface.webservice/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://com.xyzmo.server.inputinterface.webservice/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">&lt;b&gt;xyzmo Webservice Advanced Interface&lt;/b&gt;&lt;br/&gt; Document is sent in for processing. Processing may be signing, verification, conversion...&lt;br/&gt;The document is processed via a predefined 'workflow' configuration.&lt;br/&gt;For example:&lt;dir&gt;com.xyzmo.server.documentworkflow._06_signSealPDF::_global.xml&lt;br/&gt;com.xyzmo.server.documentworkflow._06_signAdobePDF::_global.xml&lt;br/&gt;com.xyzmo.server.documentworkflow._06_signXMLdSIG::_global.xml&lt;br/&gt;com.xyzmo.server.documentworkflow._06_signPKCS7::_global.xml&lt;br/&gt;com.xyzmo.server.DocumentWorkflow._06_signSealPDF_dig2P::_global.xml&lt;br/&gt;com.xyzmo.server.DocumentWorkflow._06_dig2Pstandalone::_global.xml&lt;br/&gt;com.xyzmo.server.DocumentWorkflow._06_MimeParser::_global.xml&lt;br/&gt;com.xyzmo.server.documentworkflow._36_verify::_global.xml&lt;br/&gt;com.xyzmo.server.documentworkflow._56_convertFile2Pdf::_global.xml&lt;br/&gt;com.xyzmo.server.documentworkflow._96_verify_Type_02&lt;br/&gt;com.xyzmo.server.documentworkflow._96a_verify_Type_13&lt;/dir&gt;</wsdl:documentation>
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://com.xyzmo.server.inputinterface.webservice/">
      <s:element name="Process">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="files" type="tns:ArrayOfFileContainer" />
            <s:element minOccurs="0" maxOccurs="1" name="selectedWorkflowName" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfFileContainer">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="FileContainer" nillable="true" type="tns:FileContainer" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="FileContainer">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="SourceFileContent" type="s:base64Binary" />
          <s:element minOccurs="0" maxOccurs="1" name="SourceFileName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="CustomId" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="CustomRefId" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="Status" type="s:int" />
        </s:sequence>
      </s:complexType>
      <s:element name="ProcessResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="ProcessResult" type="tns:ProcessResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ProcessResult">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="ProcessingPolicyStatus" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="ProcessedFiles" type="tns:ArrayOfFileContainer" />
        </s:sequence>
      </s:complexType>
      <s:element name="ProcessMail">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="mimeMessage" type="tns:ArrayOfString" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfString">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="ProcessMailResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="ProcessMailResult" type="tns:ArrayOfString" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetWorkflowList">
        <s:complexType />
      </s:element>
      <s:element name="GetWorkflowListResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetWorkflowListResult" type="tns:ArrayOfString" />
          </s:sequence>
        </s:complexType>
      </s:element>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="ProcessSoapIn">
    <wsdl:part name="parameters" element="tns:Process" />
  </wsdl:message>
  <wsdl:message name="ProcessSoapOut">
    <wsdl:part name="parameters" element="tns:ProcessResponse" />
  </wsdl:message>
  <wsdl:message name="ProcessMailSoapIn">
    <wsdl:part name="parameters" element="tns:ProcessMail" />
  </wsdl:message>
  <wsdl:message name="ProcessMailSoapOut">
    <wsdl:part name="parameters" element="tns:ProcessMailResponse" />
  </wsdl:message>
  <wsdl:message name="GetWorkflowListSoapIn">
    <wsdl:part name="parameters" element="tns:GetWorkflowList" />
  </wsdl:message>
  <wsdl:message name="GetWorkflowListSoapOut">
    <wsdl:part name="parameters" element="tns:GetWorkflowListResponse" />
  </wsdl:message>
  <wsdl:portType name="xyzmoWebServiceSoap">
    <wsdl:operation name="Process">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Method executes the selected workflow, for each fileContainer entry.&lt;br/&gt; PARAMETER (required) FileContainer[] 'files': contains the files to be processed. At least one FileContainer is required.&lt;br/&gt; PARAMETER (optional) string 'selectedWorkflowName': holds the selected workflow name as a result from method GetWorkflowList(). If no value is given the default value in the Interface Configuration is used.</wsdl:documentation>
      <wsdl:input message="tns:ProcessSoapIn" />
      <wsdl:output message="tns:ProcessSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="ProcessMail">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Method executes the 06_MimeParser workflow, for each mimeMessage entry.&lt;br/&gt;PARAMETER (required) string[] 'mimeMessage': string representation of mime message to be parsed.</wsdl:documentation>
      <wsdl:input message="tns:ProcessMailSoapIn" />
      <wsdl:output message="tns:ProcessMailSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetWorkflowList">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Method returns all permitted workflows (as string array) for the calling URL respectively port.&lt;br/&gt;No PARAMETERS.</wsdl:documentation>
      <wsdl:input message="tns:GetWorkflowListSoapIn" />
      <wsdl:output message="tns:GetWorkflowListSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="xyzmoWebServiceSoap" type="tns:xyzmoWebServiceSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="Process">
      <soap:operation soapAction="http://com.xyzmo.server.inputinterface.webservice/Process" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ProcessMail">
      <soap:operation soapAction="http://com.xyzmo.server.inputinterface.webservice/ProcessMail" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetWorkflowList">
      <soap:operation soapAction="http://com.xyzmo.server.inputinterface.webservice/GetWorkflowList" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="xyzmoWebServiceSoap12" type="tns:xyzmoWebServiceSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="Process">
      <soap12:operation soapAction="http://com.xyzmo.server.inputinterface.webservice/Process" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ProcessMail">
      <soap12:operation soapAction="http://com.xyzmo.server.inputinterface.webservice/ProcessMail" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetWorkflowList">
      <soap12:operation soapAction="http://com.xyzmo.server.inputinterface.webservice/GetWorkflowList" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="xyzmoWebService">
    <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">&lt;b&gt;xyzmo Webservice Advanced Interface&lt;/b&gt;&lt;br/&gt; Document is sent in for processing. Processing may be signing, verification, conversion...&lt;br/&gt;The document is processed via a predefined 'workflow' configuration.&lt;br/&gt;For example:&lt;dir&gt;com.xyzmo.server.documentworkflow._06_signSealPDF::_global.xml&lt;br/&gt;com.xyzmo.server.documentworkflow._06_signAdobePDF::_global.xml&lt;br/&gt;com.xyzmo.server.documentworkflow._06_signXMLdSIG::_global.xml&lt;br/&gt;com.xyzmo.server.documentworkflow._06_signPKCS7::_global.xml&lt;br/&gt;com.xyzmo.server.DocumentWorkflow._06_signSealPDF_dig2P::_global.xml&lt;br/&gt;com.xyzmo.server.DocumentWorkflow._06_dig2Pstandalone::_global.xml&lt;br/&gt;com.xyzmo.server.DocumentWorkflow._06_MimeParser::_global.xml&lt;br/&gt;com.xyzmo.server.documentworkflow._36_verify::_global.xml&lt;br/&gt;com.xyzmo.server.documentworkflow._56_convertFile2Pdf::_global.xml&lt;br/&gt;com.xyzmo.server.documentworkflow._96_verify_Type_02&lt;br/&gt;com.xyzmo.server.documentworkflow._96a_verify_Type_13&lt;/dir&gt;</wsdl:documentation>
    <wsdl:port name="xyzmoWebServiceSoap" binding="tns:xyzmoWebServiceSoap">
      <soap:address location="http://testlab.xyzmo.com:50006/com.xyzmo.server.inputinterface.webservice.asmx" />
    </wsdl:port>
    <wsdl:port name="xyzmoWebServiceSoap12" binding="tns:xyzmoWebServiceSoap12">
      <soap12:address location="http://testlab.xyzmo.com:50006/com.xyzmo.server.inputinterface.webservice.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

Best regards,

Michael Handschuh

6 REPLIES 6

Former Member
0 Kudos

Hi,

Consuming a Web Service from ABAP:

Use

To consume a Web service, you can create a proxy for the Web service in the ABAP Workbench using a WSDL document as a basis. This can be done with just a few mouse clicks.

The role of the Web service client developer has been created so that Web services can be consumed:

The Web Service Client Developer consumes the Web services in existing applications. He or she knows the specific requirements for the Web service and creates the client proxy. He or she then programs the client application.

Procedure

...

Call the Object Navigator (SE80) and create the proxy object. (See also Generating Proxies.)

Create a logical port to define the runtime features of the Web service client proxy (see also: Creating a Logical Port).

Program your application. (See also: Programming with Client and Server Proxies.)

Generating Proxies By Using the Object Navigator (Transaction SE80)

...

4. 1. Call the Object Navigator (transaction SE80) in the system in which you want to generate a client or server proxy. Select a package and call the context menu. Choose Create ® Enterprise Service / Web Service ® Proxy Object.

5. 2. In the subsequent dialog window, choose the source of the WSDL document (URL/http destination, local file, UDDI or XI Repository).

If you choose XI Repository as the source of the WSDL document, the hierarchy of the software component versions in the Integration Repository is displayed in the subsequent window. The interface objects are ordered according to software component version, namespace and object type (also see: ABAP Proxy Generation). Choose an interface object for which no proxy already exists and confirm by choosing Copy.

6. 3. In the subsequent dialog window, enter the name of the package where you want to create the proxy objects. You can also specify a prefix for the names of all objects to be created to avoid naming conflicts with names that already exist in the system. Also see the proxy generation tips.

Creating a Logical Port

Use

You configure runtime features for Web Service client proxies using logical ports.

Unlike design-time features, runtime features are features that can be configured when the Web-service client is activated. An example of such a feature is the URL call of the Web service, which, if applicable, must be modified by users.

Design-time features are features that are defined by the application developer during development. These features are shipped together with the Web service client proxy and cannot be changed again by users. In this way, an application developer can, for example, define whether communication between the client and server is to be session-based or not. These features are maintained in the Logical Port Template and configured in the Logical Port Template Editor in transaction SE80 (Preconfiguration tab in ABAP Proxy Generation). There is one logical port template for each Web service client proxy.

A Web service client proxy can be instantiated with or without specifying a logical port. If no logical port is specified, the system uses the default port maintained in transaction LPCONFIG. There can only be one default port for each Web service client proxy. Ensure that a default port is maintained for each Web service client proxy so that calls can still be executed when a logical port is not specified. Each Web service client proxy can have multiple logical ports.

Prerequisites

You have generated a proxy from a WSDL document.

Procedure

...

11. 1. Call transaction LPCONFIG.

Enter the name of the proxy class and the logical port. If applicable, select the Default Logical Port checkbox. If another port is already defined as the default for this proxy class, this setting for the default port will be reset and the new port becomes the default.

Use the value help for the Logical Port field to display any existing ports for a proxy class. In this case, the Description field documents how the logical port is used. When creating a new port, maintain the port description on the subsequent screen.

12. 2. Choose Create.

On the next screen, default values have already been entered for the configurable runtime features. These default values are taken from the logical port template and other default values.

You configure the runtime features, which are supported by every SOAP client application that uses the logical port registry, on the General Settings screen area. The Application-Specific Settings area refers directly to the respective SOAP client application. This division ensures that further SOAP client applications in subsequent releases can be integrated.

For more information; Just check the link below:

http://help.sap.com/saphelp_nw2004s/helpdata/en/16/285d32996b25428dc2eedf2b0eadd8/frameset.htm

Regards

Shiva

Former Member
0 Kudos

Hi shiva,

Thanks for your reply, BUT

I love this proxy function but it's only available from WAS 640, unfortunately in WAS 620 there is no functionality to create a proxy from a WSDL ...........

bye Mike

Former Member
0 Kudos

Hi Michael,

I have almost the same requirement. After searching a lot I found following. It might help you or may not.

If you find any other solution pls post that.

Thanks,

Santosh.

START-OF-SELECTION .

CLEAR WF_STRING .

CONCATENATE '<?xml version="1.0" encoding="utf-8"?>'

'<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'

'<soap:Body>'

'<ConversionRate xmlns="http://www.webserviceX.NET/">'

'<FromCurrency>' V_FROM '</FromCurrency>'

'<ToCurrency>' V_TO '</ToCurrency>'

'</ConversionRate>'

'</soap:Body>'

'</soap:Envelope>'

INTO WF_STRING .

CLEAR :RLENGTH , TXLEN .

RLENGTH = STRLEN( WF_STRING ) .

MOVE: RLENGTH TO TXLEN .

CLEAR: WF_PROXY, WF_PORT .

MOVE: P_PROXY TO WF_PROXY ,

P_PORT TO WF_PORT .

CALL METHOD CL_HTTP_CLIENT=>CREATE

EXPORTING

HOST = 'www.webservicex.net'

SERVICE = '80'

SCHEME = '1'

PROXY_HOST = WF_PROXY

PROXY_SERVICE = WF_PORT

IMPORTING

CLIENT = HTTP_CLIENT.

HTTP_CLIENT->PROPERTYTYPE_LOGON_POPUP = HTTP_CLIENT->CO_DISABLED.

WF_USER = USER .

WF_PASSWORD = PASSWORD .

  • proxy server authentication

CALL METHOD HTTP_CLIENT->AUTHENTICATE

EXPORTING

PROXY_AUTHENTICATION = 'X'

USERNAME = WF_USER

PASSWORD = WF_PASSWORD.

CALL METHOD HTTP_CLIENT->REQUEST->SET_HEADER_FIELD

EXPORTING

NAME = '~request_method'

VALUE = 'POST'.

CALL METHOD HTTP_CLIENT->REQUEST->SET_HEADER_FIELD

EXPORTING

NAME = '~server_protocol'

VALUE = 'HTTP/1.1'.

CALL METHOD HTTP_CLIENT->REQUEST->SET_HEADER_FIELD

EXPORTING

NAME = '~request_uri'

VALUE = '/CurrencyConvertor.asmx'.

CALL METHOD HTTP_CLIENT->REQUEST->SET_HEADER_FIELD

EXPORTING

NAME = 'Content-Type'

VALUE = 'text/xml; charset=utf-8'.

CALL METHOD HTTP_CLIENT->REQUEST->SET_HEADER_FIELD

EXPORTING

NAME = 'Content-Length'

VALUE = TXLEN.

CALL METHOD HTTP_CLIENT->REQUEST->SET_HEADER_FIELD

EXPORTING

NAME = 'SOAPAction'

VALUE = 'http://www.webserviceX.NET/ConversionRate'.

CALL METHOD HTTP_CLIENT->REQUEST->SET_CDATA

EXPORTING

DATA = WF_STRING

OFFSET = 0

LENGTH = RLENGTH.

CALL METHOD HTTP_CLIENT->SEND

EXCEPTIONS

HTTP_COMMUNICATION_FAILURE = 1

HTTP_INVALID_STATE = 2.

CALL METHOD HTTP_CLIENT->RECEIVE

EXCEPTIONS

HTTP_COMMUNICATION_FAILURE = 1

HTTP_INVALID_STATE = 2

HTTP_PROCESSING_FAILED = 3.

CLEAR WF_STRING1 .

WF_STRING1 = HTTP_CLIENT->RESPONSE->GET_CDATA( ).

REPLACE ALL OCCURRENCES OF

'&lt;' IN WF_STRING1 WITH '<' .

REPLACE ALL OCCURRENCES OF

'&gt;' IN WF_STRING1 WITH '>' .

REPLACE ALL OCCURRENCES OF

'xmlns=' IN WF_STRING1 WITH 'xmlns:xsl=' .

TRY .

CALL TRANSFORMATION (`Y_CURR_XML2ABAP`)

SOURCE XML WF_STRING1

RESULT OUTTAB = OUTTAB.

CATCH CX_XSLT_EXCEPTION INTO XSLT_ERR.

DATA: S TYPE STRING.

S = XSLT_ERR->GET_TEXT( ).

WRITE: ': ', S.

STOP.

ENDTRY .

Former Member
0 Kudos

Hi Santosh,

thanks for zour example, i'll try to convert it to my webservice, question to your example:

please can you send me which webserrvice you call here AND please can you give me informations

to the Y_CURR_XML2ABAP transformation?

thanks in advance

Mike

Former Member
0 Kudos

I solved it successfully. very very tricky, but maybe forall the solution path

i took 2 transformations for creating the web Service link and i took 2 transformations for the answer

01. transformation id: abap to internal XML

02. transformation myfirst01: internal XML --> webService XML

in this transformation the soap header and so one will be created

call of webservice like 2 post before

after receiving

03. transformation myfirst02: webService XML --> internal XML

04. transformtaion id: internal XML to abap

bye

mike

0 Kudos

Hi Mike,

We have the same requirement. The web service is NON .NET the WSDL (see below). How did you do this in WebAS 6.20. Can you kindly share with us a sample code of your program. You can reach me from email address as well.

Thanks,

Tony

<?xml version="1.0" encoding="UTF-8"?>

<wsdl:definitions targetNamespace="http://webservice.<deleted on purpose>" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://webservice.<deleted on purpose>" xmlns:intf="http://webservice.<deleted on purpose>" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<!--WSDLApache Axis version: 1.4

Built on Apr 22, 2006 (06:55:48 PDT)/ en-(WSDL created by Apache Axis version: 1.4

Built on Apr 22, 2006 (06:55:48 PDT))-->

<wsdl:message name="execResponse">

<wsdl:part name="execReturn" type="xsd:string"/>

</wsdl:message>

<wsdl:message name="execRequest">

<wsdl:part name="xmlString" type="xsd:string"/>

</wsdl:message>

<wsdl:portType name="shipRSS">

<wsdl:operation name="exec" parameterOrder="xmlString">

<wsdl:input message="impl:execRequest" name="execRequest"/>

<wsdl:output message="impl:execResponse" name="execResponse"/>

</wsdl:operation>

</wsdl:portType>

<wsdl:binding name="shipRSSSoapBinding" type="impl:shipRSS">

<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>

<wsdl:operation name="exec">

<wsdlsoap:operation soapAction=""/>

<wsdl:input name="execRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://webservice.<deleted on purpose>" use="encoded"/>

</wsdl:input>

<wsdl:output name="execResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://webservice.<deleted on purpose>" use="encoded"/>

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

<wsdl:service name="shipRSSService">

<wsdl:port binding="impl:shipRSSSoapBinding" name="shipRSS">

<wsdlsoap:address location="http://<hostname_deleted>/dd10/services/shipRSS"/>

</wsdl:port>

</wsdl:service>

</wsdl:definitions>