java 跟.net webservice 互通问题(3)
跟国外公司的测试过程已经基本完成了,web service的互通问题也已经解决.
需要注意的是:
1,命名空间一定要一致
2,必须确保两种web service的soap 包格式相同.
下面用代码解释一下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Description;
using System.Web.Services.Protocols;
using System.Xml;
using System.Xml.Schema;
using System.Xml.Serialization;
using NLog;
namespace TestService
{
/// <summary>
/// Summary description for Service1
/// </summary>
[WebService(Namespace = "http://www.test.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[SoapDocumentService(RoutingStyle = SoapServiceRoutingStyle.RequestElement, Use = SoapBindingUse.Literal)]
//[SoapRpcService(RoutingStyle = SoapServiceRoutingStyle.RequestElement, Use = SoapBindingUse.Literal)]
public class testService : System.Web.Services.WebService
{
[WebMethod]
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Bare)]
[return: System.Xml.Serialization.XmlElementAttribute("outstr", Namespace = "http://www.test.com/")]
public string test([System.Xml.Serialization.XmlElementAttribute("input", Namespace = "http://www.test.com/")] string inputstr)
{
try
{
Logger log = LogManager.GetCurrentClassLogger();
#region 记录日志
if (inputstr!=null)
{
log.Info("inputstr=" +inputstr);
}
}
#endregion
return inputstr;
}
catch (Exception ex)
{
throw ex;
}
}
}
}
上边的代码是用nlog这个开源组件简单的记录了一个日志,我们可以定义webservice的命名空间和输入参数和返回参数的命名空间,来达到跟java一致.
黄色的部分代码是关键,这样做可以帮助你自定义soap 包格式,保持跟java一致.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架