我从来没有在java中使用RPC调用,所以我对我需要研究的一些遗留代码感到有些困惑。
如果可能的话,我希望你能帮助我澄清如何在RPC上使用CXF。
1)CXF不支持rpc/encoded
次调用(" JAXWS 2.0"问题不支持Rpc / encoded wsdls)。是rpc/literal
完全支持CXF,并在JAX-WS中指定了这个问题?提到here但不幸的是(为什么???)没有明确的消息说不支持RPC + Encoded的组合?我应该更深入地了解(进入JSR 224)?
2)document/encoded
怎么样?是否完全支持/指定JAX-WS及其参考实现(至少是CXF)?
答案 0 :(得分:2)
在现代肥皂框架(如CXF或JAX-WS)中,您只能 使用document/literal
或rpc/literal
。
您在调查方面做得很好,但也许您应该更多地关注WSDL和SOAP标准,而不是jax-ws和cxf文档。
WS-I(Web Services-Interoperability)组织定义了一组在创建Web服务时要遵循的规则,因此它可以很好地工作,而不依赖于用于实现它的编程语言或技术。该标准称为Basic Profile(通常称为WS-I BP),目前版本为2.0。
WS-I BP建议不使用'编码的'风格和仅使用'文字'。由于我们始终希望我们的Web服务符合BP标准(遵守基本配置文件),因此JAX-WS等较新的Web服务框架开始放弃对创建rpc/encoded
和document/encoded
Web服务的支持。 / p>
你不应该花太多时间研究document/encoded
组合,因为它从来没有被任何人真正使用过,因为它说你要使用xml架构类型进行消息传递但是你不是将包含任何xml架构。这就是为什么您很可能在任何地方都找不到关于document/encoded
的信息。
由于rpc/encoded
是一种非常古老的消息传递风格,您应该使用相同时代的框架,例如Axis 1.4和忘记 CXF或JAX-WS,因为我认为他们从不支持它。