cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP Axis Adapter Receiver Scenario

former_member192375
Participant
0 Kudos

Hi,

We are running SAP PI 7.10 SP 5. I have a ABAP to SOAP Axis adapter scenario. The AXIS JAVA archive is already deployed. If I collect the WSDL from the source machine and then save this as a WSDL file(below). I then import the WSDL file as an external definition into the ESR. This gives me 3 messages, u201CAuthenticationInfou201D, u201CNew_Create_Operation_1u201D and u201CNew_Create_Operation_1Responseu201D. However when I import the WSDL into Eviwareu2019s SOAPUI then it produces a request SOAP message with two of the messages combined, u201CAuthenticationInfou201D & u201CNew_Create_Operation_1u201D.

Please can you give me insight into this. See the SOAPUI message further down below. If I submit this SOAPUI message to the appropriate WS I get back a positive response.

Do I have to develop the SOAP message header in ESR or is this done in the module handlers in the channel configuration?

Regards

Willie Hugo

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

<wsdl:definitions targetNamespace="urn:RemedySAPUpdateCRQ" xmlns:s0="urn:RemedySAPUpdateCRQ" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<wsdl:types>

<xsd:schema elementFormDefault="qualified" targetNamespace="urn:RemedySAPUpdateCRQ">

<xsd:element name="New_Create_Operation_1" type="s0:InputMapping1"/>

<xsd:complexType name="InputMapping1">

<xsd:sequence>

<xsd:element name="NotUsedSubmitter" type="xsd:string"/>

<xsd:element minOccurs="0" name="NotUsedAssignedTo" type="xsd:string"/>

<xsd:element name="NotUsedStatus" type="s0:NotUsedStatusType"/>

<xsd:element name="NotUsedShortDescription" type="xsd:string"/>

<xsd:element minOccurs="0" name="Organization" type="xsd:string"/>

<xsd:element minOccurs="0" name="LAN_ID" type="xsd:string"/>

<xsd:element minOccurs="0" name="ChangeManager" type="xsd:string"/>

<xsd:element minOccurs="0" name="ChangeCoordinator" type="xsd:string"/>

<xsd:element minOccurs="0" name="ChangeCoordinatorManagerLAN_ID" type="xsd:string"/>

<xsd:element minOccurs="0" name="SAP_IBase" type="xsd:string"/>

<xsd:element minOccurs="0" name="Priority" type="xsd:string"/>

<xsd:element minOccurs="0" name="ChangeID" type="xsd:string"/>

<xsd:element minOccurs="0" name="Status" type="xsd:string"/>

<xsd:element minOccurs="0" name="WorkInfoHistory" type="xsd:string"/>

<xsd:element minOccurs="0" name="Class" type="xsd:string"/>

<xsd:element minOccurs="0" name="ChaRMChangeRequestNo" type="xsd:string"/>

<xsd:element minOccurs="0" name="ScheduledStartDate" type="xsd:date"/>

<xsd:element minOccurs="0" name="IntegrationAction" type="xsd:string"/>

<xsd:element minOccurs="0" name="ScheduledEndDate" type="xsd:date"/>

<xsd:element minOccurs="0" name="PlannedStartDate" type="xsd:date"/>

<xsd:element minOccurs="0" name="PlannedEndDate" type="xsd:date"/>

<xsd:element minOccurs="0" name="SubmitDate" type="xsd:date"/>

<xsd:element minOccurs="0" name="Summary" type="xsd:string"/>

</xsd:sequence>

</xsd:complexType>

<xsd:simpleType name="NotUsedStatusType">

<xsd:restriction base="xsd:string">

<xsd:enumeration value="New"/>

<xsd:enumeration value="Assigned"/>

<xsd:enumeration value="Fixed"/>

<xsd:enumeration value="Rejected"/>

<xsd:enumeration value="Closed"/>

</xsd:restriction>

</xsd:simpleType>

<xsd:element name="New_Create_Operation_1Response" type="s0:OutputMapping1"/>

<xsd:complexType name="OutputMapping1">

<xsd:sequence>

<xsd:element minOccurs="0" name="Request_ID" type="xsd:string"/>

</xsd:sequence>

</xsd:complexType>

<xsd:element name="AuthenticationInfo" type="s0:AuthenticationInfo"/>

<xsd:complexType name="AuthenticationInfo">

<xsd:sequence>

<xsd:element name="userName" type="xsd:string"/>

<xsd:element name="password" type="xsd:string"/>

<xsd:element minOccurs="0" name="authentication" type="xsd:string"/>

<xsd:element minOccurs="0" name="locale" type="xsd:string"/>

<xsd:element minOccurs="0" name="timeZone" type="xsd:string"/>

</xsd:sequence>

</xsd:complexType>

</xsd:schema>

</wsdl:types>

<wsdl:message name="ARAuthenticate">

<wsdl:part element="s0:AuthenticationInfo" name="parameters">

</wsdl:part>

</wsdl:message>

<wsdl:message name="New_Create_Operation_1SoapOut">

<wsdl:part element="s0:New_Create_Operation_1Response" name="parameters">

</wsdl:part>

</wsdl:message>

<wsdl:message name="New_Create_Operation_1SoapIn">

<wsdl:part element="s0:New_Create_Operation_1" name="parameters">

</wsdl:part>

</wsdl:message>

<wsdl:portType name="New_Port_1PortType">

<wsdl:operation name="New_Create_Operation_1">

<wsdl:input message="s0:New_Create_Operation_1SoapIn">

</wsdl:input>

<wsdl:output message="s0:New_Create_Operation_1SoapOut">

</wsdl:output>

</wsdl:operation>

</wsdl:portType>

<wsdl:binding name="New_Port_1SoapBinding" type="s0:New_Port_1PortType">

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

<wsdl:operation name="New_Create_Operation_1">

<soap:operation soapAction="urn:RemedySAPUpdateCRQ/New_Create_Operation_1" style="document"/>

<wsdl:input>

<soap:header message="s0:ARAuthenticate" part="parameters" use="literal">

</soap:header>

<soap:body use="literal"/>

</wsdl:input>

<wsdl:output>

<soap:body use="literal"/>

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

<wsdl:service name="RemedySAPUpdateCRQService">

<wsdl:documentation>

Updates from SAP for Change Requests </wsdl:documentation>

<wsdl:port binding="s0:New_Port_1SoapBinding" name="New_Port_1Soap">

<soap:address location="http://sourcesys/arsys/services/ARService?server=ctremd01&amp;webService=RemedySAPUpdateCRQ"/>

</wsdl:port>

</wsdl:service>

</wsdl:definitions>

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:RemedySAPUpdateCRQ">

<soapenv:Header>

<urn:AuthenticationInfo>

<urn:userName>User</urn:userName>

<urn:password>password</urn:password>

</urn:AuthenticationInfo>

</soapenv:Header>

<soapenv:Body>

<urn:New_Create_Operation_1>

<urn:NotUsedSubmitter></urn:NotUsedSubmitter>

<urn:NotUsedStatus></urn:NotUsedStatus>

<urn:NotUsedShortDescription></urn:NotUsedShortDescription>

</urn:New_Create_Operation_1>

</soapenv:Body>

</soapenv:Envelope>

Accepted Solutions (0)

Answers (4)

Answers (4)

former_member192375
Participant
0 Kudos

Further here is the WSDL pulled from the WEB Server and imported in the ESR.

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

- <wsdl:definitions targetNamespace="urn:RemedySAPUpdateCRQ" xmlns:s0="urn:RemedySAPUpdateCRQ" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

- <wsdl:types>

- <xsd:schema elementFormDefault="qualified" targetNamespace="urn:RemedySAPUpdateCRQ">

<xsd:element name="New_Create_Operation_1" type="s0:InputMapping1" />

- <xsd:complexType name="InputMapping1">

- <xsd:sequence>

<xsd:element name="NotUsedSubmitter" type="xsd:string" />

<xsd:element minOccurs="0" name="NotUsedAssignedTo" type="xsd:string" />

<xsd:element name="NotUsedStatus" type="s0:NotUsedStatusType" />

<xsd:element name="NotUsedShortDescription" type="xsd:string" />

<xsd:element minOccurs="0" name="Organization" type="xsd:string" />

<xsd:element minOccurs="0" name="LAN_ID" type="xsd:string" />

<xsd:element minOccurs="0" name="ChangeManager" type="xsd:string" />

<xsd:element minOccurs="0" name="ChangeCoordinator" type="xsd:string" />

<xsd:element minOccurs="0" name="ChangeCoordinatorManagerLAN_ID" type="xsd:string" />

<xsd:element minOccurs="0" name="SAP_IBase" type="xsd:string" />

<xsd:element minOccurs="0" name="Priority" type="xsd:string" />

<xsd:element minOccurs="0" name="ChangeID" type="xsd:string" />

<xsd:element minOccurs="0" name="Status" type="xsd:string" />

<xsd:element minOccurs="0" name="WorkInfoHistory" type="xsd:string" />

<xsd:element minOccurs="0" name="Class" type="xsd:string" />

<xsd:element minOccurs="0" name="ChaRMChangeRequestNo" type="xsd:string" />

<xsd:element minOccurs="0" name="ScheduledStartDate" type="xsd:date" />

<xsd:element minOccurs="0" name="IntegrationAction" type="xsd:string" />

<xsd:element minOccurs="0" name="ScheduledEndDate" type="xsd:date" />

<xsd:element minOccurs="0" name="PlannedStartDate" type="xsd:date" />

<xsd:element minOccurs="0" name="PlannedEndDate" type="xsd:date" />

<xsd:element minOccurs="0" name="SubmitDate" type="xsd:date" />

<xsd:element minOccurs="0" name="Summary" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

- <xsd:simpleType name="NotUsedStatusType">

- <xsd:restriction base="xsd:string">

<xsd:enumeration value="New" />

<xsd:enumeration value="Assigned" />

<xsd:enumeration value="Fixed" />

<xsd:enumeration value="Rejected" />

<xsd:enumeration value="Closed" />

</xsd:restriction>

</xsd:simpleType>

<xsd:element name="New_Create_Operation_1Response" type="s0:OutputMapping1" />

- <xsd:complexType name="OutputMapping1">

- <xsd:sequence>

<xsd:element minOccurs="0" name="Request_ID" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

<xsd:element name="AuthenticationInfo" type="s0:AuthenticationInfo" />

- <xsd:complexType name="AuthenticationInfo">

- <xsd:sequence>

<xsd:element name="userName" type="xsd:string" />

<xsd:element name="password" type="xsd:string" />

<xsd:element minOccurs="0" name="authentication" type="xsd:string" />

<xsd:element minOccurs="0" name="locale" type="xsd:string" />

<xsd:element minOccurs="0" name="timeZone" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:schema>

</wsdl:types>

- <wsdl:message name="ARAuthenticate">

<wsdl:part element="s0:AuthenticationInfo" name="parameters" />

</wsdl:message>

- <wsdl:message name="New_Create_Operation_1SoapOut">

<wsdl:part element="s0:New_Create_Operation_1Response" name="parameters" />

</wsdl:message>

- <wsdl:message name="New_Create_Operation_1SoapIn">

<wsdl:part element="s0:New_Create_Operation_1" name="parameters" />

</wsdl:message>

- <wsdl:portType name="New_Port_1PortType">

- <wsdl:operation name="New_Create_Operation_1">

<wsdl:input message="s0:New_Create_Operation_1SoapIn" />

<wsdl:output message="s0:New_Create_Operation_1SoapOut" />

</wsdl:operation>

</wsdl:portType>

- <wsdl:binding name="New_Port_1SoapBinding" type="s0:New_Port_1PortType">

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

- <wsdl:operation name="New_Create_Operation_1">

<soap:operation soapAction="urn:RemedySAPUpdateCRQ/New_Create_Operation_1" style="document" />

- <wsdl:input>

<soap:header message="s0:ARAuthenticate" part="parameters" use="literal" />

<soap:body use="literal" />

</wsdl:input>

- <wsdl:output>

<soap:body use="literal" />

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

- <wsdl:service name="RemedySAPUpdateCRQService">

<wsdl:documentation>Updates from SAP for Change Requests</wsdl:documentation>

- <wsdl:port binding="s0:New_Port_1SoapBinding" name="New_Port_1Soap">

<soap:address location="http://ctremwebd01/arsys/services/ARService?server=ctremd01&webService=RemedySAPUpdateCRQ" />

</wsdl:port>

</wsdl:service>

</wsdl:definitions>

Edited by: Willem Daniel Hugo on Sep 21, 2011 7:13 AM

former_member192375
Participant
0 Kudos

Hi Jenny the copy and past is not work out so greatly for me at the moment. Here goes the SOAPUI message.

u201C<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:RemedySAPUpdateCRQ">

<soapenv:Header>

<urn:AuthenticationInfo>

<urn:userName>User</urn:userName>

<urn:password>password</urn:password>

</urn:AuthenticationInfo>

</soapenv:Header>

<soapenv:Body>

<urn:New_Create_Operation_1>

<urn:NotUsedSubmitter></urn:NotUsedSubmitter>

<urn:NotUsedStatus></urn:NotUsedStatus>

<urn:NotUsedShortDescription></urn:NotUsedShortDescription>

</urn:New_Create_Operation_1>

</soapenv:Body>

</soapenv:Envelope>u201D

former_member192375
Participant
0 Kudos

Hi,

We are running SAP PI 7.10 SP 5. I have a ABAP to SOAP Axis adapter scenario. I collect the WSDL from the source machine and then save this as a WSDL file(below). I then import the WSDL file as an external definition into the ESR. This gives me 3 messages, u201CAuthenticationInfou201D, u201CNew_Create_Operation_1u201D and u201CNew_Create_Operation_1Responseu201D. However when I import the WSDL into Eviwareu2019s SOAPUI then it produces a request SOAP message with two of the messages combined, u201CAuthenticationInfou201D & u201CNew_Create_Operation_1u201D.

Please can you give me insight into this. See the SOAPUI message further down below. If I submit this message to the appropriate WS I get back a positive response.

Do I have to develop the SOAP message header in ESR or is this done in the module handlers in the channel configuration?

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

<wsdl:definitions targetNamespace="urn:RemedySAPUpdateCRQ" xmlns:s0="urn:RemedySAPUpdateCRQ" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<wsdl:types>

<xsd:schema elementFormDefault="qualified" targetNamespace="urn:RemedySAPUpdateCRQ">

<xsd:element name="New_Create_Operation_1" type="s0:InputMapping1"/>

<xsd:complexType name="InputMapping1">

<xsd:sequence>

<xsd:element name="NotUsedSubmitter" type="xsd:string"/>

<xsd:element minOccurs="0" name="NotUsedAssignedTo" type="xsd:string"/>

<xsd:element name="NotUsedStatus" type="s0:NotUsedStatusType"/>

<xsd:element name="NotUsedShortDescription" type="xsd:string"/>

<xsd:element minOccurs="0" name="Organization" type="xsd:string"/>

<xsd:element minOccurs="0" name="LAN_ID" type="xsd:string"/>

<xsd:element minOccurs="0" name="ChangeManager" type="xsd:string"/>

<xsd:element minOccurs="0" name="ChangeCoordinator" type="xsd:string"/>

<xsd:element minOccurs="0" name="ChangeCoordinatorManagerLAN_ID" type="xsd:string"/>

<xsd:element minOccurs="0" name="SAP_IBase" type="xsd:string"/>

<xsd:element minOccurs="0" name="Priority" type="xsd:string"/>

<xsd:element minOccurs="0" name="ChangeID" type="xsd:string"/>

<xsd:element minOccurs="0" name="Status" type="xsd:string"/>

<xsd:element minOccurs="0" name="WorkInfoHistory" type="xsd:string"/>

<xsd:element minOccurs="0" name="Class" type="xsd:string"/>

<xsd:element minOccurs="0" name="ChaRMChangeRequestNo" type="xsd:string"/>

<xsd:element minOccurs="0" name="ScheduledStartDate" type="xsd:date"/>

<xsd:element minOccurs="0" name="IntegrationAction" type="xsd:string"/>

<xsd:element minOccurs="0" name="ScheduledEndDate" type="xsd:date"/>

<xsd:element minOccurs="0" name="PlannedStartDate" type="xsd:date"/>

<xsd:element minOccurs="0" name="PlannedEndDate" type="xsd:date"/>

<xsd:element minOccurs="0" name="SubmitDate" type="xsd:date"/>

<xsd:element minOccurs="0" name="Summary" type="xsd:string"/>

</xsd:sequence>

</xsd:complexType>

<xsd:simpleType name="NotUsedStatusType">

<xsd:restriction base="xsd:string">

<xsd:enumeration value="New"/>

<xsd:enumeration value="Assigned"/>

<xsd:enumeration value="Fixed"/>

<xsd:enumeration value="Rejected"/>

<xsd:enumeration value="Closed"/>

</xsd:restriction>

</xsd:simpleType>

<xsd:element name="New_Create_Operation_1Response" type="s0:OutputMapping1"/>

<xsd:complexType name="OutputMapping1">

<xsd:sequence>

<xsd:element minOccurs="0" name="Request_ID" type="xsd:string"/>

</xsd:sequence>

</xsd:complexType>

<xsd:element name="AuthenticationInfo" type="s0:AuthenticationInfo"/>

<xsd:complexType name="AuthenticationInfo">

<xsd:sequence>

<xsd:element name="userName" type="xsd:string"/>

<xsd:element name="password" type="xsd:string"/>

<xsd:element minOccurs="0" name="authentication" type="xsd:string"/>

<xsd:element minOccurs="0" name="locale" type="xsd:string"/>

<xsd:element minOccurs="0" name="timeZone" type="xsd:string"/>

</xsd:sequence>

</xsd:complexType>

</xsd:schema>

</wsdl:types>

<wsdl:message name="ARAuthenticate">

<wsdl:part element="s0:AuthenticationInfo" name="parameters">

</wsdl:part>

</wsdl:message>

<wsdl:message name="New_Create_Operation_1SoapOut">

<wsdl:part element="s0:New_Create_Operation_1Response" name="parameters">

</wsdl:part>

</wsdl:message>

<wsdl:message name="New_Create_Operation_1SoapIn">

<wsdl:part element="s0:New_Create_Operation_1" name="parameters">

</wsdl:part>

</wsdl:message>

<wsdl:portType name="New_Port_1PortType">

<wsdl:operation name="New_Create_Operation_1">

<wsdl:input message="s0:New_Create_Operation_1SoapIn">

</wsdl:input>

<wsdl:output message="s0:New_Create_Operation_1SoapOut">

</wsdl:output>

</wsdl:operation>

</wsdl:portType>

<wsdl:binding name="New_Port_1SoapBinding" type="s0:New_Port_1PortType">

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

<wsdl:operation name="New_Create_Operation_1">

<soap:operation soapAction="urn:RemedySAPUpdateCRQ/New_Create_Operation_1" style="document"/>

<wsdl:input>

<soap:header message="s0:ARAuthenticate" part="parameters" use="literal">

</soap:header>

<soap:body use="literal"/>

</wsdl:input>

<wsdl:output>

<soap:body use="literal"/>

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

<wsdl:service name="RemedySAPUpdateCRQService">

<wsdl:documentation>

Updates from SAP for Change Requests </wsdl:documentation>

<wsdl:port binding="s0:New_Port_1SoapBinding" name="New_Port_1Soap">

<soap:address location="http://sourcesys/arsys/services/ARService?server=ctremd01&amp;webService=RemedySAPUpdateCRQ"/>

</wsdl:port>

</wsdl:service>

</wsdl:definitions>

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:RemedySAPUpdateCRQ">

<soapenv:Header>

<urn:AuthenticationInfo>

<urn:userName>User</urn:userName>

<urn:password>password</urn:password>

</urn:AuthenticationInfo>

</soapenv:Header>

<soapenv:Body>

<urn:New_Create_Operation_1>

<urn:NotUsedSubmitter></urn:NotUsedSubmitter>

<urn:NotUsedStatus></urn:NotUsedStatus>

<urn:NotUsedShortDescription></urn:NotUsedShortDescription>

</urn:New_Create_Operation_1>

</soapenv:Body>

</soapenv:Envelope>

Former Member
0 Kudos

Hi Willie,

You have to create your SOAP envelope including the SOAP header in ESR. Create your message structure for your SOAP envelope and based it on the schema on the WSDL and create your mapping. Then, on your receiver SOAP comm channel, tick the option "Do Not Use SOAP Envelope".

Regards,

Jenny

former_member192375
Participant
0 Kudos

Hi Jenny,

In the ESR could you use normal PI message mapping or would you have to use JAVA or XSLT to create the SOAP envilope?

Regards

Willie Hugo

Former Member
0 Kudos

Hi Willie Hugo,

You can use the normal graphical mapping as long as you were able to create a message type for the desired SOAP envelope structure.

Regards,

Jenny

Former Member
0 Kudos

Can you please show the sample SOAP UI message?