on 09-02-2012 10:05 AM
Dear Experts,
The 3rd party has provided me the WSDL file and I am able to upload in PI system as External definition for ABAP Outbound Proxy to SOAP scenario.
I have issue while creating Message Type for message mapping.
How to create Message Type from the WSDL file? Do we have any program or I need to create DT and MT seeing the structure?
Regards
Rebecca
Hi Rebecca,
When working with an External Definition generated from a WSDL file, you don't create DT nor MT. Instead:
- use the External Definition directly as source or target message, when creating Message Mapping
- create Service Interface with use of the External Definition (when setting the Request and Response, change Type to "External Definition", then choose the right one)
- use the Service Interface normally to create Operation Mapping
Hope this clarifies,
Greg
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks Greg,Nageshwar and Pavan.
Sorry for late reply. My real concern for developing data types/message types was that during the creation of the proxy in ECC generated <<WSDL extension not supported>>.
As because the 3rd party provided us the WSDL and it contained multiple operations/messages which I think ABAP 6.40 /7.10 does not support.
So could any one suggest how to by pass this issue and what could be precautionary steps I should be aware so that I can prepare the WSDL similar to the WSDL of the 3rd party?
Regards
Rebecca
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Dear Rebecca,
Two things:
1. Did you try to check the error's long text? Sometimes it contains useful details on how to deal with the error.
2. Does your .wsdl file contain any <extension> tags? I believe the error points at this tag, as a source of the problem. Can you try to get rid of this tag and import to ECC again?
The SAP Help doc Consuming Service Operations using SAP NetWeaver Studio seems to say that you can have multiple operations in one service:
In this example, we use 2 Service Operations. They are PurchaseOrderCreate and PurchaseOrderByID.
Regards,
Greg
Hi Rebecca,
as mentioned by Greg and Nageshwar you have very good reasons to reject any direct changes at the wsdl. This is the type for your inbound interface and the wsdl is a description from the service owner how to invoke the service, so if you change it, it will not work anymore.
Nevertheless you can create a data type / message type for the outbound interface, which is the basis for your proxy generation. After that you need to map the both types.
Cut the xml schema part from the wsdl (xsd:schema) and put it to a the source code of a new data type. If you save you will get an error message.
Presumedly you need to put the namespace declarations from wsdl:definitions into the root element. If you save again, you will get another error message. I assume it is because you need a complex Type as root. If you change this is might work (i did that once but it is long ago..). If you post the error popups we can support you.
If the data type is working, just create a message type, and a interface. Proxy generation shouldn t be any problem now as the data type is now validated in ESR. Of course you can add fields manuallyto the data type.
Regards,
Udo
Dear Udo,
Its nice to have such input.
As Greg wrote in previous comment,
The SAP Help doc Consuming Service Operations using SAP NetWeaver Studio seems to say that you can have multiple operations in one service:
In this example, we use 2 Service Operations. They are PurchaseOrderCreate and PurchaseOrderByID.
I do agree that Java Proxy supports multiple operations but not much sure ABAP proxy support the same feature , not sure.Surely my SAP ECC doesnt work
Let me try what Udo suggested. Full credit if it works
Rebecca
This might be old post but i had the same issue. I got WSDL from 3rd party which contains external reference. I was not able to load the WSDL in PI. later 3rd party changed into single WSDL( removing any reference ) and i was able to load it into PI
Next was, i wanted to use the WSDL for source & target message since all mapping was to be taken care by ABAP outbound Proxy. When i generated the proxy out of Service interface ( with WSDL as external message), i had namespace issue and SOAP call reject the request.
Here are the solution that i found ( with help of SDN off course)
(1) Create your own DT/MT for source message. This can be similar to WSDL
(2) When you create message type, in XML namespace, provide the same namespace as 3rd party. You can find this namespace, if you open the WSDL in IE. This is very important, else it will not accept the request.
(3) With this do Message mapping with MT and external message and do the OP.
Other method which i used, since creating data type/MT was big task for each interface is, to not to create message instead use XSLT mapping ( Thanks to SDN again) to format the message as per SOAP call. You create Service interface ( both Inbound & outbound) same with the help of External message and use XSLT mapping in OP. You can create the SOAP envelop/body etc and check " DO not use envelope in Com channel
Hope this helps!
Hi Rebecca,
If you are Using WSDL file in your scenario no need to create DT or MT. if you see the structure of your DT please check on" Messages "tab in your WSDL , there you can find your structure.
Regards,
Pavan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Rebecca,
If you want to use the same messages for outbound proxy service interface, then you will not create data type / message type. You can reuse the data type / message type definition in the WSDL as mentioned by Greg.
If your outbound proxy interface can not reuse messages from external definition, then you need to create data type / message types / service interfaces. I believe you need to use manual methods for creation of data type / message types ...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
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.