背景:这段时间对接医院webservice接口,java调用C#写的接口,大家都按照医院信息平台交互规范总则来开发。
问题:规定了报文的命名空间和签名(方法名及参数)。
/// <summary> /// HIPService 的摘要说明 /// </summary> [WebService(Namespace = "urn:hl7-org:v3")] //[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 // [System.Web.Script.Services.ScriptService] public class HIPService : System.Web.Services.WebService { [SoapRpcMethod(Use = SoapBindingUse.Literal)] [WebMethod(Description = "平台对接(科室、人员)")] public string HIPMessageServer(string action, string message) { return ""; } }
使用VS创建默认的服务,修改默认的Namspace命名空间,修改后使用soupui会发现请求报文的方法名及参数有命名空间前缀,然后再使用SoapRpcMethod去掉。
默认创建服务的报文:
修改之后的请求报文: