+ -
当前位置:首页 → 问答吧 → 请教soap掉java的websevice的问题,谢谢

请教soap掉java的websevice的问题,谢谢

时间:2010-08-27

来源:互联网

我写的程序,但是总是有错误,加上trace提示的是500 internel errr

#!/bin/perl -w
use SOAP::Lite+trace;

print SOAP::Lite
   -> uri('http://124.193.150.126/gear/services')
   -> proxy('http://124.193.150.126/gear/services/RunServerService?wsdl')
   -> UpdateData('a','b')
   -> result;

换成service(http://124.193.150.126/gear/services/RunServerService?wsdl);也不好用
UpdateData是定义的方法,中间是两个字符串型数据string。
IP是互联网ip,大家帮帮我把,谢谢了。ip可以直接访问的。
不过下班时间就关了

作者: freecr_cu   发布时间: 2010-08-27

我试了下没问题  返回值为空

作者: yybmsrs   发布时间: 2010-08-27

那是有错误的,我打开trace显示的debug信息有误,错误如下:
SOAPAction: "http://124.193.150.126/gear/services#UpdateData"

<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlnssi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlnssd="http://www.w3.org/2001/XMLSchema" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><UpdateData xmlns="http://124.193.150.126/gear/services"><c-gensym3 xsi:type="xsd:string">a</c-gensym3><c-gensym5 xsi:type="xsd:string">b</c-gensym5></UpdateData></soap:Body></soap:Envelope>
SOAP::Transport::HTTP::Client::send_receive: HTTP::Response=HASH(0x15a14590)
SOAP::Transport::HTTP::Client::send_receive: HTTP/1.1 500 Internal Server Error

但是那个服务器是正常的,别人的java的程序可以连这个webservice。
执行update方法,服务器根本没有反应,好像就没有连接到服务器。我怀疑是连接错误

作者: freecr_cu   发布时间: 2010-08-27

回复 freecr_cu


    SOAPAction: "http://124.193.150.126/gear/services#UpdateData"

   这个是不是应该用 -> on_action( sub {join '/', http://124.193.150.126/gear/services', $_[1] } )处理下?  #一般识别不了,得换成/

作者: yybmsrs   发布时间: 2010-08-27