开发者

Calling Web Service with primitive types within Orchestration - Can't map request message

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开发者_如何学C' 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!


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜