背景:這段時間對接醫院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去掉。
默認創建服務的報文:
修改之后的請求報文: