记一次 PHP调用Java Webservice

前两天,第三方合作公司给我们一个Webservice的链接,说是Java做的,里面有个sendMsg()方法,让我们在用php做的项目里推送消息给他们。我们公司是有用.net做的Webservice,而Java的Webservice没用过。

他们提供的东西:

1. Java Webservice:http://不给看IP:9080/mccweb/webservice/common/wsMessageService?wsdl

2. Java Webservice里的方法:sendMsg(string username, string title, string content, string code)

php调用代码:

 1 include(‘./NuSOAP/lib/nusoap.php‘);
 2
 3 $client = new nusoap_client(‘http://不给看IP:9080/mccweb/webservice/common/wsMessageService?wsdl‘,‘wsdl‘);
 4 $err = $client->getError();
 5 if ($err) {
 6     echo ‘<h2>Constructor error</h2><pre>‘ . $err . ‘</pre>‘;
 7 }
 8
 9 $param[‘username‘] = ‘andychen‘;
10 $param[‘title‘]    = ‘test push‘;
11 $param[‘content‘]  = ‘hello world!‘;
12 $param[‘code‘]     = ‘@w#wed%d#dkesq#@!!324skfjsds!‘;
13
14 $result = $client->call(‘sendMsg‘, array(‘parameters‘ => $param));
15 echo $result;

运行结果:

我一看,尼玛“http://mccwebhost”这什么鬼??

浏览器打开“http://不给看IP:9080/mccweb/webservice/common/wsMessageService?wsdl”看看;

原来是这里出来的,那,这又是什么鬼??

我一想php是通过soap去调用Webservice的,且报错信息里有后面这个值,哦,了解了。“http://mccwebhost”这个是无效域名,被写死了。

沟通半天对方说改不了这是生成的,啊??生成的?鬼信。最后对方说他们用Nginx做了负载均衡,要了账号上服务器看了一下,我看到nginx.conf是这样的:

时间: 2024-10-05 23:46:49

记一次 PHP调用Java Webservice的相关文章

.NET 调用java webservice保存datetime类型数据为空的解决办法

问题描述:       用C#.NET调用Java开发的WebService时,先在客户端封装的带有int属性的对象,当将该对象传到服务器端时,服务器端可以得到 string类型的属性值,却不能得到int类型.double和DateTime类型的值(在服务端得到的均为null) 问题原因:        VS封装WebService引用时,如果WebService发布的是一个基本数据类型组成的对象,则会对该对象的非string属性同时生成 两个属性,一般是这样的"属性××"."

.Net下实现配置化调用JAVA开发的WebService

各个系统之间进行数据交互是重要的部分,WebService是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,使用较为方便,闲话少说,正式进入到关于在.Net中调用java开发的接口. 目前JAVA开发WebService的方式很很多种:Axis2.CXF.xfire等等,但是在.Net中调用这些接口无法实现配置IP的形式进行替换调用服务,那这个问题该如何解决? 笔者测试发现相同框架开发的接口是可以进行配置URL来改变调用接口,前提是需要对JAVA基于不同框架的接口进行引用,在V

delphi调用 java 的 WebService服务端.

// InvRegistry.RegisterInvokeOptions(TypeInfo(ModelADServicePortType), ioLiteral); InvRegistry.RegisterInvokeOptions(TypeInfo(ModelADServicePortType), ioDocument); delphi调用 java 的 WebService服务端.,布布扣,bubuko.com

PHP调用JAVA的WebService简单实例

使用PHP调用JAVA语言开发的WebService.客户端提交两个String类型的参数,服务端返回一个对象类型.服务端使用AXIS-1.4作为SOAP引擎.客户端为PHP5.2.9,使用NuSOAP作为SOAP引擎. 服务端: 对象类 import java.io.Serializable; public class Person implements Serializable { /** * */ private static final long serialVersionUID = -

用C#.NET调用Java开发的WebService传递int,double问题,出现java无法获得值!

用C#.NET调用Java开发的WebService时,先在客户端封装的带有int属性的对象,当将该对象传到服务器端时,服务器端可以得到string类型的属性值,却不能得到int类型.double和DateTime类型的值(在服务端得到的均为null) 解决办法: VS2005封装WebService引用 用C#.NET调用Java开发的WebService时,先在客户端封装的带有int属性的对象,当将该对象传到服务器端时,服务器端可以得到string类型的属性值,却不能得到int类型.doub

c#调用带有安全认证的java webservice

最近使用c#调用另外一个同事写的java webservice耽误了很多时间,网上资料不太完整,走了很多弯路,希望对大家有帮助. 基本思路是1.拼装soap使用http post ,主要将验证身份信息放入header中,以下code供参考:8-15行内用户.密码,其他soap信息需要根据自己的service修改, 可以使用soapui获取到body以及xmlns信息 1 public class InvokeServiceWithSoap 2     { 3         public sta

用C#.NET调用Java开发的WebService传递int,double问题,出现java无法获

用C#.NET调用Java开发的WebService传递int,double问题,出现java无法获得值! 用C#.NET调用Java开发的WebService时,先在客户端封装的带有int属性的对象,当将该对象传到服务器端时,服务器端可以得到string类型的属性值,却不能得到int类型.double和DateTime类型的值(在服务端得到的均为null) 解决办法: VS2005封装WebService引用 用C#.NET调用Java开发的WebService时,先在客户端封装的带有int属

Java调用doNet webService方法

doNet的webService 浏览器访问测试地址:http://192.168.4.17/JLWWS/sendCommand.asmx,出现 点击getDeviceValue方法,出现 上图的xml代码再贴一遍: POST /JLWWS/sendCommand.asmx HTTP/1.1 Host: 192.168.4.17 Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://tem

C#调用Java的WebService出现500 服务器错误

最近在用C#调用Java写的WebService时,发现老是返回500 服务器错误,到底什么原因一直找不出来, 后来google了以后,找到国外的http://stackoverflow.com站点已经有人碰到过这个问题了. 转帖如下: HttpWebRequest req = WebRequest.Create(url) as HttpWebRequest; WebResponse wr = req.GetResponse(); When the server returns 500 Inte