views:

174

answers:

1

Hi everybody.

I'm running into this problem when trying to call a SOAP Web Service from within a Biztalk orchestration. The Web Service is an abapi exposed by SAP as a SOAP Web Service, and the signature of the web method I want to call is something like this:

Operation(param1 as System.String, param2 as System.String, param3 ArrayOfSomeClass)

When I see the schemas generated I noticed that only 'ArrayOfSomeClass' and 'SomeClass' were generated. But I don't see any schema that represents the whole request. I also noticed that a web port type was generated, and the request message is represented as a multi-part message. The parts of this message contains all the scalar parameters (param1, param2) and also the array.

I know I can just use the assignment shape and fill the message by code, but this is not what I want because I would like to map another message to the web service request.

Is this possible? Any one had a similar issue?

Thanks in advance!

+1  A: 

Hi Maxolidean, You observation is correct, schemas won't be generated for simple types and its clearly documented here and explains how you should work with such types.

http://msdn.microsoft.com/en-us/library/aa561724(BTS.20).aspx

XSD will not contain nodes for simple parameter types When you add a Web reference and the Web method has a parameter that is a simple type, the generated XSD will not contain nodes for that parameter. Instead, the multipart message that is generated will contain a part that is of the simple type. The orchestration should handle this message part appropriately. If it is a part of the request to the Web service, manually assign the value to that part with a message assignment shape. If it is a part of the response from the Web service, manually access that part in an expression shape to see the value.

I didn't get your second point

I would like to map another message to the web service request.

Saravana Kumar