首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于实现非Java (PHP)端点使用的JAX-WS web服务的建议

关于实现非Java (PHP)端点使用的JAX-WS web服务的建议
EN

Stack Overflow用户
提问于 2014-03-02 11:41:45
回答 2查看 975关注 0票数 0

我是一名Java程序员,并探索实现JAX服务,以便与我们的web服务器集成。到目前为止,我还没有在网络服务方面的经验,因此希望得到每个人的专家意见。

背景是,我的公司有一个POS系统开发和内部托管使用Java .我们正在计划电子商务功能,这些功能将通过外部web开发公司和外部托管,以HTML/PHP方式实现。

因此,我们正在探索在端点上实现JAX服务,以便与运行PHP端点的电子商务服务器集成。

我做过一些研究,我的理解是:

我现在想知道,在与构建我们电子商务平台的外部web开发公司讨论实现时,什么是正确的方法。大多数网站和论坛的示例都假设两个端点上都有Java,并且两个端点都由同一个开发人员/团队实现。

根据我有限的代言人,我认为这个过程将是:

  1. Me/my公司创建web服务(用Java编写web服务方法)
  2. 我/我的公司创建服务器程序
  3. 然后,从我的服务器程序的URI (http://:/md5WebService?wsdl )生成的wsdl作为我们内部POS系统和外部电子商务平台之间的接口契约。

web开发公司正在实现电子商务平台,然后使用wsdl实现PHP端点。

在我们的内部POS系统需要使用外部web开发公司创建的web服务的情况下,他们会将wsdl传递给我,我将使用wsdl对它们进行调用。

这是正确的做法吗?

非常感谢。

干杯,亚瑟

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-02 13:09:04

在Java中,实际上有两种方法来启动web服务的设计。您可以先创建WSDL ()契约(合同优先方法),然后让Java或一些框架工具为您创建Java框架类,您可以使用这些类来实现每个操作的逻辑,也可以通过代码优先方法开始,实现每个web方法及其逻辑,然后让Java或一些外部框架工具为您生成WSDL契约

无论从哪种方式开始,结果都应该非常相似,并且与平台无关。基于WSDL的web服务的标准消息格式是SOAP (简单对象访问协议),它基于定义为平台和编程语言无关的eXtensible标记语言

因此,在实现了您的服务并启动了WS端点的服务器之后,将?wsdl添加到端点URL的末尾后,应该将WSDL契约返回给调用方,它可以用于为所需的编程语言创建客户端存根,这进一步简化了从web服务发送和接收消息的过程。但是,请注意,可能不需要创建存根文件,因为所有信息都可能直接从WSDL协议中解析。由于缺乏有关PHP的知识,我无法详细说明如何直接从PHP调用WS,或者是否需要/建议创建存根文件。

为了从服务中调用其他WS,您需要在一个web方法中创建一个WS客户机,并调用远程WS提供的一个或多个操作,并在您的web方法中处理响应。

因为我不确定您是否正在使用任何像f.e这样的(Java)框架。Apache我这里没有给出任何代码示例。为了在服务中集成外部web服务,您还可以查看阿帕奇骆驼,它为包括CXF在内的众多基于Java的框架提供了集成支持。在这里,您的web服务被视为一个Consumer,而您需要调用的其他外部服务则作为Producers处理。您的内部服务和外部服务之间的交互在这里建模在一个路由中,您可以在其中应用各种企业集成模式(EIP),比如将一个响应中包含的多个元素分割成不同的对象,您还可以并行地处理这些对象。

通常,如果您遵循代码优先方法,那么所涉及的步骤的枚举看起来是正确的,但正如前面提到的,您也可以首先定义您的契约。根据您对WSDL/XSD语法的知识(您对确切语法的了解越少,您就应该越多地使用代码优先方法),在您还在开发您的实现的内部逻辑的同时,首先对契约进行分析可能会使PHP方面的集成更快。

票数 0
EN

Stack Overflow用户

发布于 2014-03-03 09:59:27

代码语言:javascript
复制
it is possible to mix end-point technologies, and specifically in my case JAX-WS as our endpoint and PHP SoapClient on our e-commerece end-point PHP SOAP Client to consume JAX-WS with Basic Http Authentication Using PHP SoapClient with Java JAX-WS RI (Webservice)

这正是引入webservice概念的确切目的。您不必担心您的客户端和服务器是在哪个平台或语言上实现的。客户机和服务器将按照wsdl中商定的那样,简单地交换xml消息(与平台无关)。

继续你的理解吧。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22127090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档