Biztalk提供了Orchestration Web Service Publish Wizard。发布生成的Web Service的主要特点如下:
public sealed class Service: Microsoft.BizTalk.WebServices.ServerProxy.ServerProxy
Microsoft.BizTalk.WebServices.ServerProxy.ServerProxy是.net framework中ServerProxy的子类,估计是MS专门针对Orchestration Web Service开发的。
类中,最重要的方法是:
object[] invokeResults = this.Invoke("CommonCall", invokeParams, inParamInfos, outParamInfos, 0, bodyTypeAssemblyQualifiedName, inHeaders, inoutHeaders, out inoutHeaderResponses, out outHeaderResponses, null, null, null, out unknownHeaderResponses, false, false);
这行代码只是实例代码,具体的方法签名可查看MSDN.
其中重要的参数包括:输入消息,Orchestration构件信息,SoapHeader信息,调用到的WS方法名。
个性化定制:在发布向导中,可以对namespace,SOAPHeader进行自定义设置;Orchestration中Logical Receive Port的属性会影响Web Service的WSDL。如果需要更加细节的定制,可以采用折中的方法。首先,根据目标wsdl的要求,采用自上而下的方法开发一个普通web service,然后其中具体方法的实现用向导生成类中的实现来替换。从开发策略上来说属于中间相遇。