php soap java_PHP SoapClient通过身份验证调用soap方法

我正在尝试使用php(5.3.5)使用wsdl访问webservice(JAX-WS) . 以下是我使用的代码:

class insoapauth

{

public $Username;

public $Password;

public function __construct($username, $pass)

{

$this->Username = $username;

$this->Password = $pass;

}

}

$client = new SoapClient("http://192.168.124.11:8080/cx-subscriberdata/CXSubscriberAdmin?wsdl", array( "login" => "SOAPDW", "password" => "DW@2012"));

// Create the header

$auth = new insoapauth("SOAPDW", "DW@2012");

$header = new SoapHeader("http://192.168.124.11:8080/cx-subscriberdata/CXSubscriberAdmin", "APICredentials", $auth, false);

try {

$result = $client->__soapCall("getDataWS", array(

"CrmSearchInformation" => array(

"searchKeyValue" => "93700801021"

)

));

echo("

Returning value of __soapCall() call: ".$result);

}catch(SoapFault $exception)

{

print_r("Got issue:

") ;

var_dump($exception);

}

或者,我尝试使用SoapHeader的另一种方式,并在方法调用时提供它 . 但我总是得到SoapFault异常:

无法连接到主机

更多细节例外:

SoapFault异常:[HTTP]无法连接到C:\ wamp \ www \ SOAPTest \ client \ insoaptest.php中的主机:103堆栈跟踪:#0 [内部函数]:SoapClient - > _ doRequest('_ soapCall('getDataWS') ,数组)#2

但是,使用soapUI我可以连接到soapsever并可以使用相同的凭据调用soapmethod . 以下是访问WS的一些示例代码 - 我想这是用Java附带的手册:

INBeanService service = new INBeanService();

CXINWS wsPort = service.getCXINWSPort();

String username = "crmtestuser";

String password = "crmpassword";

BindingProvider bp = (BindingProvider) wsPort;

bp.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, username);

bp.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, password);

try {

CrmSearchInformation crmSearchInfo = new CrmSearchInformation();

crmSearchInfo.setSearchKeyValue(msisdn);

CrmSearchResult result = wsPort.getDataWS(crmSearchInfo);

//handle result

System.out.println("Result state: " + result.getSearchResultState());

} catch (NxWsException e) {

// handle exceptions

}

请问有什么人可以告诉我如何通过身份验证从php访问wsdl webservice?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值