cancel
Showing results for 
Search instead for 
Did you mean: 

WSDL sequence parameters

Former Member
0 Kudos

Hi,

I have created a webservice through wizard in SE80. Then with SOAMANAGER I have the WSDL file and its content have the following tag in the input parameters:

- <xsd:sequence>

<xsd:element name="Ebeln" type="n0:char10" />

<xsd:element name="Bsart" type="n0:char4" />

<xsd:element name="Lifnr" type="n0:char10" />

<xsd:element name="Liftx" type="n0:char35" />

......

My problem is that the webservice have the tag <sequence> so when I call the webservice I have to call it with sort parameters as in the definition.

Is possible to avoid these tag?. I mean if is possible to create the webservice indicating that I don't want ordered parameters.

Is possible to do it in SAP o by default the webservice have the structure sequence?

Thanks

Regards

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

>Is possible to avoid these tag?

No, wsdl is created by SAP so it is not possible to modify it.

>Is possible to do it in SAP o by default the webservice have the structure sequence?

while you are creating webservice using SE80, SAP doesn't know that whether sequence required or not so any tag attached to wsdl based on existing structure i.e. structure described in BAPI/RFC.

I suggest to handle this thing either in composite service (i.e. service created in CAF using Java) or handle on consumer side.

Regards,

Gourav

Former Member
0 Kudos

Hi again,

Ok I have tested the webservice with soapUI but I notice that my problem is that if I change the order of the elements when I call the webservice, then the parameters are not populated when I debug it in SAP.

Do you know how can I call a Webservice without using the same order indicated in the WSDL file?

Thanks

Regards

Former Member
0 Kudos

Hi,

I guess it is a problem and parameter should be populated in given sequence only. Only way I can think of handling this is using PI in middle which will actually handle sequence of fields for you. So you call PI and PI will call webservice and give result back.

Regards,

Gourav

Former Member
0 Kudos

Ok, thanks,

So I understand that I would need PI module and would create webservice in PI so then I would have to create a class and through sproxy transaction I could manage it. is it correct?

I don't know about Netweaver but I think is the aplication that manage the PI, so although I acces to soamanager and I see a Netweaver webpage, maybe I don't work with Netweaver, is it correct? So I have to work with PI Netweaver.

Sorry but I'm beginner in webservices and I don't know about Netweaver.

Thanks

Regards

Former Member
0 Kudos

Hi,

What I meant that if you create service interface in PI and use mapping feature then sequence will not be important as mapping will translate into java which is more to do with name of field then sequence of it. Whereas in direct SOAP call it actually map sequence to sequence which in my opinion is not correct way.

For example field "Name" should be filled with value inside tag "Name" irrespective of sequence (ofcourse xpath will be maintained) but that is not happening at this moment with SOAP call BUT it is possible using PI.

You have to create 2 service interface in PI and create mapping between them. Then you can expose Sender Agreement as service which can be consumed by some application. consult with any PI consultant he will be able to help you.

Remember it will become more middleware oriented approach than direct web service call.

Regards,

Gourav

Answers (0)