Java 创建XML模式PHP Soap客户端

Java 创建XML模式PHP Soap客户端,java,php,xml,web-services,soap,Java,Php,Xml,Web Services,Soap,我正在尝试从政府提供的web服务获取paninfo。 服务的请求示例xml如下所示 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pan="http://panws.dit.tcs.com/" xmlns:typ="http://panws.dit.tcs.com/types/"> <soapenv:Header/> <soapenv:Body>

我正在尝试从政府提供的web服务获取paninfo。 服务的请求示例xml如下所示

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:pan="http://panws.dit.tcs.com/" xmlns:typ="http://panws.dit.tcs.com/types/">
<soapenv:Header/>
<soapenv:Body>
<pan:getPanInfo>
<login>
<typ:userName>xxxxxxxxxx</typ:userName>
<typ:password>xxxxxxxxxx</typ:password>
</login>
<panNo>
<typ:panNo>xxxxxxxxxx</typ:panNo>
</panNo>
</pan:getPanInfo>
</soapenv:Body>
</soapenv:Envelope>

XXXXXXXXX
XXXXXXXXX
XXXXXXXXX
我使用了PHP soap客户端,如下所示:

$client = new SoapClient("https://incometaxindiaefiling.gov.in/e-FilingWS/ditws/PanWS.wsdl",array('trace' => 1, 'exceptions' => 0,"cache_wsdl" => 0

));

$client->__setLocation("https://incometaxindiaefiling.gov.in/e-FilingWS/ditws/PanWS");

$params = new SoapVar("<login><string:userName>xxxxxxxxx</string:userName><string:password>xxxxxxxxx</string:password></login><panNo><string:panNo>xxxxxxxxxx</string:panNo></panNo>", XSD_ANYXML);
$result = $client->GetPanInfo($params);
$client=新的SoapClient(“https://incometaxindiaefiling.gov.in/e-FilingWS/ditws/PanWS.wsdl,数组('trace'=>1,'exceptions'=>0,'cache_wsdl'=>0
));
$client->\uuuu设置位置(“https://incometaxindiaefiling.gov.in/e-FilingWS/ditws/PanWS");
$params=新的SoapVar(“xxxxxxxxxxxxxxxxxxxxxxxx”,XSD_ANYXML);
$result=$client->GetPanInfo($params);
它生成了以下XML模式

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://panws.dit.tcs.com/">
<SOAP-ENV:Body>
<ns1:getPanInfo><login><string:userName>xxxxxxx</string:userName><string:password>xxxxxxx</string:password></login><panNo><string:panNo>xxxxxxx</string:panNo></panNo><panNo/></ns1:getPanInfo></SOAP-ENV:Body>
</SOAP-ENV:Envelope>

XXXXXXXXXXXXXXXXXX
作为响应,我得到了500个内部服务器错误,响应为空

在stackoverflow上也有同样的问题,但是在RubyonRails中。 任何人都可以帮我在PHP中解决它


您发送的请求与预期格式不匹配:

  • 您缺少类型架构导入:xmlns:typ=”http://panws.dit.tcs.com/types/"

  • “getPanInfo”上的前缀应为“pan”,而不是ns1

  • 用户名和密码的前缀不是“字符串”,而是“类型”

  • 潘诺也一样


我知道!!这就是如何使用PHP-soap-client设置所有这些内容的问题。在soapvar函数中,可以添加建议的修改。对于模式导入,您需要在信封中添加导入。这可能对你有帮助