on 01-13-2014 12:18 PM
Dear experts,
We are on PI 7.3 and I have to generate an ABAP Proxy in our SAP ERP system. It is needed for ABAP Proxy --> PI --> SOAP receiver. I had posted a question already
I prepared the PI configuration and went into transaction SPROXY in SAP ERP.
I am trying to create the Proxy on the outbound interface but after giving Package name, Request/Task and Prefix I get the following error:
Cannot generate proxy (object <portType name="IM_SHOPRITE_GETNEWORDERS_OUT">
missing in WSDL, see long text)
Message no. SPRX084
The Service interface I created from an External Definition (WSDL) and the WSDL for the Service Interface looks like this:
<wsdl:definitions
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:p2="https://b2bqa.shoprite.co.za/b2b/"
xmlns:p1="http://xxxxx.com/za/partner/shoprite"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
name="IM_SHOPRITE_GETNEWORDERS_OUT" targetNamespace="http://xxxxx.com/za/partner/shoprite">
<wsdl:documentation>
xxxxx ZA: SOAP request for Shoprite webservice to retrieve new Orders
</wsdl:documentation>
<wsp:UsingPolicy wsdl:required="true" />
<wsp:Policy wsu:Id="OP_IM_SHOPRITE_GETNEWORDERS_OUT" />
<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="https://b2bqa.shoprite.co.za/b2b/" targetNamespace="https://b2bqa.shoprite.co.za/b2b/">
<xsd:element name="getNewOrders">
<xsd:complexType />
</xsd:element>
<xsd:element name="getNewOrdersResponse">
<xsd:complexType />
</xsd:element>
</xsd:schema>
</wsdl:types>
<wsdl:message name="p2.getNewOrders">
<wsdl:documentation />
<wsdl:part xmlns="" name="getNewOrders" type="getNewOrders" />
</wsdl:message>
<wsdl:message name="p2.getNewOrdersResponse">
<wsdl:documentation />
<wsdl:part xmlns="" name="getNewOrdersResponse" type="getNewOrdersResponse" />
</wsdl:message>
<wsdl:portType name="IM_SHOPRITE_GETNEWORDERS_OUT">
<wsdl:documentation>
xxxxx ZA: SOAP request for Shoprite webservice to retrieve new Orders
</wsdl:documentation>
<wsdl:operation name="IM_SHOPRITE_GETNEWORDERS_OUT">
<wsdl:documentation />
<wsp:Policy>
<wsp:PolicyReference URI="#OP_IM_SHOPRITE_GETNEWORDERS_OUT" />
</wsp:Policy>
<wsdl:input message="p1:p2.getNewOrders" />
<wsdl:output message="p1:p2.getNewOrdersResponse" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="IM_SHOPRITE_GETNEWORDERS_OUTBinding" type="p1:IM_SHOPRITE_GETNEWORDERS_OUT">
<SOAP-ENV:binding xmlns:SOAP-ENV="http://schemas.xmlsoap.org/wsdl/soap/" style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="IM_SHOPRITE_GETNEWORDERS_OUT">
<SOAP-ENV:operation xmlns:SOAP-ENV="http://schemas.xmlsoap.org/wsdl/soap/" soapAction="http://sap.com/xi/WebService/soap1.1" />
<wsdl:input>
<SOAP-ENV:body xmlns:SOAP-ENV="http://schemas.xmlsoap.org/wsdl/soap/" use="literal" />
</wsdl:input>
<wsdl:output>
<SOAP-ENV:body xmlns:SOAP-ENV="http://schemas.xmlsoap.org/wsdl/soap/" use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
</wsdl:definitions>
The port type "IM_SHOPRITE_GETNEWORDERS_OUT" is in that WSDL, also the namespace I created the Service Interface in is the correct one.
In a different namespace I tried creating a ABAP Proxy and that worked so my thought is that something is wrong with the WSDL?
Thank you for any ideas on this.
Best regards,
Peter
Hi Peter,
Usually this means that the WSDL is not completely correct.
A WDSL online validation (i.e. here: Online WSDL Viewer and Validator) returns the following error:
You can also validate and compare the WSDL with the SAP supported XML schema:
Best Regards
Harald
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Harald,
Thank you. Thanks also for the link to the validator. I never expected that because the WSDL was generated by PI.
Anyways I changed my strategy and composed an XSD file and imported that as an ED. And then in the Service Interface the WSDL got created successfully and correctly.
Now the ABAP Proxy works too. Well, I have to check user, password in the SOAP receiver but that is another chapter.
Best regards,
Peter
Hi Peter,
Please check the schema definition of the complex types "getNewOrders" and getNewOrdersResponse. Please check if you are using xsd:any type in the schema definition. this tags are not supported.
regards,
Harish
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Peter,
Please first of all check these notes:
1046046 - Proxy generation problem with external definitions
1156675 - Error generating a proxy with reference to message element
1177986 - generation error for untyped elements or attributes
I think, in a quick view you havent typified your elements.
Regards.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
85 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.