php如何调用别人给的java接口

因为要用到对方一个查询接口, 对方java那边开发了此接口 请求参数通过xml文件发送 然后返回一个xml文件给我.

我试了用curl没有成功, 还有那个接口地址我直接在浏览器打开报错, 是他们的问题?

下面是对方的java请求例子

java测试用例:

public void testquerypolicy() throws exception{

httpclient client = new httpclient();//httpclient version: 3.0-rc3 //10.100.148.194

client.getstate().setcredentials( new authscope(“test.tpis.tpaic.com”, 13180, authscope.any_realm), new usernamepasswordcredentials(“avaitest”, “password”));

postmethod get = new postmethod(“http://test.tpis.tpaic.com:13180/webservice/querypolicy.do”);

get.setdoauthentication( true );

get.setrequestheader(“content-type”, “textml;charset=gbk”);

try {

string requeststring = “”

+ “”

+ “”

+ “21000000790150000003”

+ “440183198604093426”

+ “”

+ “”;

requestentity entity = new stringrequestentity(requeststring, “text/xml”, “gbk”);

get.setrequestentity(entity);

client.executemethod( get );

saxbuilder sb = new saxbuilder();

document doc = null;

try {

doc = sb.build(new inputstreamreader(get.getresponsebodyasstream(),”gbk”));

} catch (jdomexception e) {

e.printstacktrace();

} catch (ioexception e) {

e.printstacktrace();

}

format format = format.getprettyformat();

format.setencoding(“gbk”);

xmloutputter outputter = new xmloutputter();

outputter.setformat(format);

string xmlstring = outputter.outputstring(doc);

system.out.println(xmlstring);

} catch (exception e) {

e.printstacktrace();

}

}

求教 根据他这个 , php该如何请求.

回复讨论(解决方案)

主要是用cur请求的方式是否正确, 请求参数直接用curl通过post发送.

另外对方还要求发送用户名密码, 这个用户名和密码是如何发送 放到头部里? 如何放到头部.

是不是有白名单限制?

帐号和密码怎么放头部这个并没有什么难度 看下 curl的 header 设置方法即可.主要是弄清楚他要的规范,文档没有吗?只有这么一个java 的demo?

请求参数通过xml文件发送 然后返回一个xml文件给我

是否用soap方式呢?先沟通清楚。

1、确认你的php支持curl

2、在网页上打开对方给的url看看是否能看到有内容

Posted in 未分类