Here is the script and policy.xml. Not able to generate formed request in soap request.Kindly assit
<?php
try {
$my_cert = ws_get_cert_from_file("/home/sps_mtnc_dev/Preetham/keys/bob_cert.cert");
$my_key = ws_get_key_from_file("/home/sps_mtnc_dev/Preetham/keys/bob_key.pem");
$rec_cert = ws_get_cert_from_file("/home/sps_mtnc_dev/Preetham/keys/alice_cert.cert");
/*Load policy file*/
$policy_xml = file_get_contents("/home/sps_mtnc_dev/Preetham/keys/policy.xml");
//$policy = new WSPolicy(array("security"=>array("useUsernameToken" => TRUE, "includeTimeStamp" => TRUE)));
$policy = new WSPolicy($policy_xml);
include('/home/sps_mtnc_dev/wso2/wsf-master/php/scripts/phpseclib0.3.10/File/X509.php');
$cert = '-----BEGIN CERTIFICATE-----
MIIDITCCAoqgAwIBAgIQT52W2WawmStUwpV8tBV9TTANBgkqhkiG9w0BAQUFADBM
MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0xMTEwMjYwMDAwMDBaFw0x
MzA5MzAyMzU5NTlaMGgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
MRYwFAYDVQQHFA1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKFApHb29nbGUgSW5jMRcw
FQYDVQQDFA53d3cuZ29vZ2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC
gYEA3rcmQ6aZhc04pxUJuc8PycNVjIjujI0oJyRLKl6g2Bb6YRhLz21ggNM1QDJy
wI8S2OVOj7my9tkVXlqGMaO6hqpryNlxjMzNJxMenUJdOPanrO/6YvMYgdQkRn8B
d3zGKokUmbuYOR2oGfs5AER9G5RqeC1prcB6LPrQ2iASmNMCAwEAAaOB5zCB5DAM
BgNVHRMBAf8EAjAAMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwudGhhd3Rl
LmNvbS9UaGF3dGVTR0NDQS5jcmwwKAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUF
BwMCBglghkgBhvhCBAEwcgYIKwYBBQUHAQEEZjBkMCIGCCsGAQUFBzABhhZodHRw
Oi8vb2NzcC50aGF3dGUuY29tMD4GCCsGAQUFBzAChjJodHRwOi8vd3d3LnRoYXd0
ZS5jb20vcmVwb3NpdG9yeS9UaGF3dGVfU0dDX0NBLmNydDANBgkqhkiG9w0BAQUF
AAOBgQAhrNWuyjSJWsKrUtKyNGadeqvu5nzVfsJcKLt0AMkQH0IT/GmKHiSgAgDp
ulvKGQSy068Bsn5fFNum21K5mvMSf3yinDtvmX3qUA12IxL/92ZzKbeVCq3Yi7Le
IOkKcGQRCMha8X2e7GmlpdWC1ycenlbN0nbVeSv3JUMcafC4+Q==
-----END CERTIFICATE-----';
$x509 = new File_X509();
$x509->loadX509($cert);
$pubKey = $x509->getPublicKey();
$xml = '<KeyInfo><X509Data><X509Certificate>';
$xml.= preg_replace('#-.*-#', '', $cert);
$xml.= '</X509Certificate></X509Data><KeyValue>';
$xml.= $pubKey->getPublicKey(CRYPT_RSA_PUBLIC_FORMAT_XML);
$xml.= '</KeyValue></KeyInfo>';
echo preg_replace('#(</?)#', '$1ds:', $xml);
$sec_token = new WSSecurityToken(array("privateKey" => $my_key, "certificate" => $my_cert));
$client = new WSClient(array("wsdl"=>"/home/sps_mtnc_dev/Preetham/CBSInterface_BusinessMgr.wsdl", "policy" => $policy, "securityToken" => $sec_token));
//$client = new WSClient(array("wsdl"=>"/home/sps_mtnc_dev/Preetham/prov-gw-hlr_subscriber-4.5.3.wsdl"));
printf("WSDL loaded \n");
//$client = new WSClient(array("useSOAP" => TRUE,"policy" => $policy,"securityToken" => $sec_token));
printf("Response = %s \n", $client);
$proxy = $client->getProxy();
//printf("Proxy = %s \n",$proxy);
printf("getProxy done \n");
$SessionEntity = array("Name" => 10001, "Password" => "qBnsbLtbFeBA1rBaPtuwXg==", "RemoteAddress" => 172123);
$RequestHeader = array("CommandId" => "NewSubscriber", "Version" => 1, "TransactionId" => 1234, "SequenceId" => 1, "RequestType" => "Event", "SessionEntity" => $SessionEntity, "SerialNo" => 1234);
$Subscriber = array("Lang" => 1234, "PaidMode" => 1234, "MainProductID" => 1234, "IMSI" => 1234);
$NewSubscriberRequest = array("SubscriberNo" => 1234, "Subscriber" => $Subscriber);
printf("Input message ready \n");
$resMessage = $proxy->NewSubscriber(array("NewSubscriberRequest" => $xml));
printf("Input message ready = %s \n", $resMessage);
printf("Response = %s \n", $resMessage->str);
} catch (Exception $e) {
if ($e instanceof WSFault) {
printf("Soap Fault: %s\n", $e->Reason);
} else {
printf("Message = %s\n",$e->getMessage());
}
}
?>
policy.xml :
<wsp:Policy wsu:Id="SgnOnlyAnonymous" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsse11="http://docs.oasis-open.org/wss/2005/xx/oasis-2005xx-wss-wssecurity-secext-1.1.xsd">
<wsp:ExactlyOne>
<wsp:All>
<sp:AsymmetricBinding>
<wsp:Policy>
<sp:InitiatorToken>
<wsp:Policy>
<sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always">
<wsp:Policy>
<sp:RequireKeyIdentifierReference/>
<sp:RequireIssuerSerialReference/>
<sp:RequireEmbeddedTokenReference/>
<sp:WssX509V1Token10/>
<sp:WssX509V3Token10/>
</wsp:Policy>
</sp:X509Token>
</wsp:Policy>
</sp:InitiatorToken>
<sp:RecipientToken>
<wsp:Policy>
<sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always">
<wsp:Policy>
<sp:RequireKeyIdentifierReference/>
<sp:RequireIssuerSerialReference/>
<sp:RequireEmbeddedTokenReference/>
<sp:WssX509V1Token10/>
<sp:WssX509V3Token10/>
</wsp:Policy>
</sp:X509Token>
</wsp:Policy>
</sp:RecipientToken>
<sp:AlgorithmSuite>
<wsp:Policy>
<sp:Basic128Rsa15/>
</wsp:Policy>
</sp:AlgorithmSuite>
<sp:Layout>
<wsp:Policy>
<sp:Lax/>
</wsp:Policy>
</sp:Layout>
<sp:OnlySignEntireHeadersAndBody/>
</wsp:Policy>
</sp:AsymmetricBinding>
<sp:SupportingTokens>
<sp:Body/>
</sp:SupportingTokens>
<sp:SignedParts>
<sp:Body/>
</sp:SignedParts>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
感謝您提供的資訊,目前這款X509Data和X509證書標籤不是由於以下PHP腳本和WS02政策文件 – user3107726 2015-02-24 06:24:43
嗯,我張貼對我的作品的腳本生成。當你說「跟隨php腳本」時,你指的是我寫的還是你寫的?並且idk WS02策略文件是什麼?我發佈的腳本只需要一個PEM並返回一個基於XML的密鑰。 – neubert 2015-02-24 14:43:27
我粘貼了下面的腳本和policy.xml – user3107726 2015-03-17 02:36:32