Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JqueryMobile框架中通过ajax调用javasoap服务_Java_Jquery_Ajax_Soap - Fatal编程技术网

如何在JqueryMobile框架中通过ajax调用javasoap服务

如何在JqueryMobile框架中通过ajax调用javasoap服务,java,jquery,ajax,soap,Java,Jquery,Ajax,Soap,我已经开始使用jquery touch开发web应用程序。我的web服务是用soap编写的,我想从我的应用程序调用它。你能建议我如何前进吗。 可以从ajax调用吗?从技术上讲,从浏览器使用soap是可行的,但这是一个非常糟糕的主意。您将花费所有的时间努力使soap协议正常工作,您将错过soap的所有好处 更好的方法是使用您选择的框架(如J2EE、.Net或任何其他框架)为新的web应用程序构建后端。所有这些平台都有很好的soap库,可以为您完成这项工作。然后,您将在服务器上生成html页面(老式

我已经开始使用jquery touch开发web应用程序。我的web服务是用soap编写的,我想从我的应用程序调用它。你能建议我如何前进吗。
可以从ajax调用吗?

从技术上讲,从浏览器使用soap是可行的,但这是一个非常糟糕的主意。您将花费所有的时间努力使soap协议正常工作,您将错过soap的所有好处

更好的方法是使用您选择的框架(如J2EE、.Net或任何其他框架)为新的web应用程序构建后端。所有这些平台都有很好的soap库,可以为您完成这项工作。然后,您将在服务器上生成html页面(老式网站),或者使用静态页面并将数据作为JSON rest API(现代单页应用程序)公开


总而言之:soap有利于服务器之间的通信,而不利于与浏览器的通信。

虽然许多人认为在JavaScript环境中管理soap的复杂性会适得其反,但这是可以做到的,特别是如果您熟悉soapweb服务并且希望避免学习另一个中间层框架的需要;我建议的图书馆是

CXF JavaScript客户机库实际上是一个简单的工具,它(还有一些)以最简单的形式wsdl2js获取wsdl文件并生成JavaScript

  • 构造函数-用于服务
  • 方法-用于任何服务操作,以及
  • 对象-适用于任何web服务复杂元素/类型
可以在脚本中直接调用。其他可用工具从Java代码服务器端实现(java2js)或动态(DynamicJavaScript)开始生成javascript代码

优点:

  • 利用广泛使用的web服务实现库(CXF)的组件
  • 避免中间的另一层
  • 易于使用(根据wsdl运行工具,加载生成的源代码)
缺点:

  • 客户端对WS-url和端口一无所知;您需要ws-Transwers的URL,仅此而已
  • 作为代码生成器,JavaScript客户端生成器与JAXB或JAX-WS并行。它定义了从web服务的抽象模型到JavaScript对象的映射。与JAXB和JAX-WS不同,没有一个委员会将“JavaScript绑定”标准化。CXF绑定可能不符合每个人的口味
  • 仅限Soap 1.1
  • 不支持身份验证

感谢您的回答,我正在使用phone gap开发移动应用程序,在我的项目中,我需要点击soap api来获取数据。你知道为什么我需要一些js soap包装器了吗?好吧,那么你基本上有两个选择:为你的应用程序创建一个服务器,处理soap通信,为你的应用程序提供一个好的api,或者用js实际处理soap。我会推荐服务器,因为它会提供一个稳定的api供您控制,但这并不总是可能的。对于客户端的工作,这个问题可能会提供一些有趣的库的答案,但我不知道有人已经为javascript编写了代码生成库。您是否有任何实践经验来了解它的工作原理?我多次以不同的风格使用cxf在java中实现web服务;我使用wsdl2js的经验仅限于运行它们提供的简单示例。