I tried to get data from SAP using SOAPUI and it works fine. SOAP UI.
but when I tried to code it using PHP, i got error. it stated "SOAP-ERROR: Parsing WSDL: Unknown required WSDL extension". I searched around and there is 2 solution.
- I need to save the WSDL then change wsp:UsingPolicy wsdl:required="true" to false. but then i got error
SOAP-ERROR: Parsing WSDL: Couldn't load from '<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions name="ZHCM_PERSONAL_WORK_SCHEDULE_OB_SI" targetNamespace="urn:company.com:PersonalWorkSchedule" xmlns:ns0="urn:sap-com:document:sap:rfc:functions" xmlns:p1="urn:company.com:PersonalWorkSchedule" xmlns:wsp="http://ift.tt/Hm2joK" xmlns:wsu="http://ift.tt/Hm2joJ" xmlns:wsdl="http://ift.tt/LcBaVt"><wsdl:documentation/><wsp:UsingPolicy wsdl:required="false"/><wsp:Policy wsu:Id="OP_ZHCM_PERSONAL_WORK_SCHEDULE_OB_SI"/><wsdl:types><xsd:schema targetNamespace="urn:sap-com:document:sap:rfc:functions" xmlns:xsd="http://ift.tt/tphNwY" xmlns="urn:sap-com:document:sap:rfc:functions"><xsd:element name="ZHCM_PERSONAL_WORK_SCHEDULE"><xsd:complexType><xsd:all><xsd:element name="EXTAPPLICATION"><xsd:annotation><xsd:documentation>External Application</xsd:documentation></xsd:annotation><xsd:simpleType>
- change ws_policy in url to standar. but there is no such string like "ws_policy". here is the format example of url http://ift.tt/2uHmn25
I wonder if can get data just like SOAPUI did without changing SOAP server configuration.
here my simple code to make connection to SAP SOAP
$user = 'user';
$password = 'password';
// $wsdl = Storage::disk('log')->get('workschedule.xsl');
$wsdl = 'http://ift.tt/2uHmn25';
$SOAP_CONFIG = array(
'login' => $user,
'password' => $password,
'authentication' => SOAP_AUTHENTICATION_BASIC,
'soap_version' => SOAP_1_1,
'connection_timeout' => 15,
'encoding' => 'UTF-8'
);
$client = new SoapClient($wsdl, $SOAP_CONFIG);
var_dump($client);
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire