我正在根据雇用我的公司开发的现有Web应用程序创建移动应用程序,他们希望我尽可能多地使用现有的后端应用程序,结束和中间件。我使用Visual Studio社区与科尔多瓦混合应用程序,并没有制作本地应用程序的计划。现在我在调用SOAP Web服务时遇到了严重的问题。Web服务麻烦 - Apache Cordova - Visual Studio 2015 Comunity
限制:
的Web应用程序部署在JBOSS,并且不使用servlet,而不是 其与Java客户端
我只可以使用JavaScript调用服务,htlm5和CSS(由于科尔多瓦,但可以实施本地API)
我至今尝试:
直接通过AJAX调用调用它,我的最后一次尝试是这样的:
VAR productServiceUrl = “http://localhost/searchUserDataWS/SearchUserDataWS?wsdl”;
function beginSaveProduct() { var soapMessage = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sear="http://searchuserdataws.alist.integra.la/"> \ <soapenv:Header/> \ <soapenv:Body> \ <sear:searchUserBasicData> \ <!--Optional:--> \ <header> \ <!--Optional:--> \ <chanel>?</chanel> \ <!--Optional:--> \ <ip>?</ip> \ <!--Optional:--> \ <user>?</user> \ </header> \ <!--Optional:--> \ <email>[email protected]</email> \ </sear:searchUserBasicData> \ </soapenv:Body> \ </soapenv:Envelope>' $.ajax({ url: productServiceUrl, type: "POST", dataType: "xml", data: soapMessage, complete: endSaveProduct, contentType: "text/xml; charset=\"utf-8\"" });
有了这个代码即时得到404错误从服务器和Im 100%,该SOAP消息是正确的(如我上SOAPUI测试和服务答案如预期)
我也尝试过这个插件:https://github.com/doedje/jquery.soap调整了一下后,我设法让它发送正确的请求(我尝试了SOAPUI并得到了正确的响应),但是,当我在Android模拟器中运行它时有500个错误(内部服务器错误)。这个特定的错误意味着我与服务联系,但是XML无法处理(这很奇怪,因为SOAPui上的XML相同)。我怀疑它是一个CORS错误,因为我在本地主机上运行了所有东西。
一位同事尝试使用C#的控制台应用程序,该应用程序从服务中获得正确的答案。我们想过做一个C#库,用于调用服务但我们还不知道如何调用从科尔多瓦
我的问题一个C#方法,所有的方法:应该是什么我的下一步是什么?创建一个调用服务的API,继续尝试C#库或其他不同的东西?
下一步应该搞清楚如何使你的代码上面的工作,因为这是最好的办法。我一直使用它,它应该工作。我看不到您的代码有任何问题。你没有得到Ajax的结果(即'success'和'failure'而不是'complete'),但那是另一回事。尝试改变'contentType'为这个'contentType:“text/xml”,并让我知道。 –
刚刚做了,并且404错误仍然存在。任何其他的消化?无论如何感谢 – Silver