【发布时间】:2010-04-06 22:33:40
【问题描述】:
我们有一个提供汽车保险报价的 Web 服务,而一家提供保险代理管理系统的公司希望为其客户使用 Web 服务,但他们希望传递 Web 服务原始 xml 而不是使用 wsdl 来创建端口,服务期望的对象并调用 Web 方法。
通过创建这样的对象,Web 服务表现完美
com.insurance.quotesvc.AgencyQuote service = new com.insurance.quotesvc.AgencyQuote();
com.insurance.quotesvc.QuotePortType port = service.getQuotePortType();
com.insurance.quotesvc.schemas.request.ACORD parameter = null;
然后用构成响应的其他对象创建初始化请求对象。
parameter = factory.createACORD();
parameter.setSignonRq(signOn);
parameter.setInsurancesSvcRq(svcRq);
并将请求发送到网络服务。
com.insurance.quotesvc.schemas.response.ACORD result = null;
result = port.requestQuote(parameter);
通过这样做,我可以轻松地将请求和结果编组到一个 xml 文件中,并按照我的意愿处理它们。 因此,如果客户要通过 http 帖子将 Web 服务作为原始 xml 发送到肥皂信封内。 Web 服务是否能够在不对 Web 服务进行任何更改的情况下处理 xml,或者是否需要对 Web 服务进行更改才能使其处理该类型的请求?
Web 服务是 JAX_WS,我们目前有 Java 和 C# 客户端使用上述方法使用 Web 服务,但现在有另一个客户端想要在肥皂信封内发送原始 xml 而不是创建对象。我很确定他们会使用 vb 调用网络服务。
我确定我遗漏了一些明显的东西,但目前它正在躲避我,非常感谢任何帮助。
【问题讨论】:
标签: c# java vb.net web-services