Hey all,
I am having a problem connecting to a .NET service running the Microsoft Soap toolkit on the
server side using the nusoap client service. It seems to not be understanding the parameters
that I am sending the other side. I continously receive and INvalid User error on there end
which just means it does not understand the parameters I am sending.

below is the nusoap client call I am using:

$parameters = array(
'name'             => 'alex',
'state'           => 'NJ',
'zip'             => '03948',


);



// Define new object and specify location of wsdl file.
$soapclient             = new soapclient('http://www.somsiete.com0?WSDL',true);



$err = $soapclient->getError();
if ($err) {
// Display the error
$answer = 'Constructor error ' . $err;
} else {
// call the method and get the result.
$result         = $soapclient->call('GetPPDData',$parameters);



// Display the request and response
echo '<h2>Request</h2>';
echo '<pre>' . htmlspecialchars($proxy->request, ENT_QUOTES) . '</pre>';
echo '<h2>Response</h2>';
echo '<pre>' . htmlspecialchars($proxy->response, ENT_QUOTES) . '</pre>';
// Check for a fault
if ($soapclient->fault) {
$answer = 'Fault';
} else {
// Check for errors
$err = $soapclient->getError();
if ($err) {
// Display the error
$answer = 'Error ' . $err;
} else {
//concatenate all array elements into a variable to send out
while (list(,$item)=each($result)) {
$answer .= $item;
}
}
}
}

Again, is there an issue of sending nusoap messages to a server that is running the Microsoft Toolkit for soap? Any help
would be greatly appreciated. Thanks.

I've written a few classes for nusoap sucessfully. If you link me to the API Function description of GetPPDData I'll be glad to have a look.

EDIT: I googled it and only found a duplicate of this post on another forum. I noticed the MS kit works for you in that post which is kinda funny to me. Cause when first read your post I laughed to myself thinking, what, MS lets nusoap clients access their server? They always reinvent the wheel and screw it up in their own incarnation of perfectly working and defined APIs.

But anyhow, if you have a link to the SDK and API, I'm even more curious now. ;)

I actually somewhat resolved the issue by using the getProxy command. Below is the code that I used to remedy the situation:
include_once('nusoap.php');

// Define needed parameters and put them in an array..
$parameters = array(
'v_state'             => 'NJ',
'v_city'             => 'Haledon',


);



// Define new object and specify location of wsdl file.
$soapclient             = new soapclient('http://www.test.com',true);


$proxy = $soapclient->getProxy();


$err = $soapclient->getError();
if ($err) {
// Display the error
$answer = 'Constructor error ' . $err;
} else {
// call the method and get the result.
/*      $result         = $soapclient->call('GetData',$parameters,'http://www.test.com');*/
$result = $proxy->GetData($parameters);



// Display the request and response
echo '<h2>Request</h2>';
echo '<pre>' . htmlspecialchars($proxy->request, ENT_QUOTES) . '</pre>';
echo '<h2>Response</h2>';
echo '<pre>' . htmlspecialchars($proxy->response, ENT_QUOTES) . '</pre>';

Using getProxy solved my issue, however this caused another issue. The above code works fine when I am running it from my home server. However, when I try to use the same code on my work machine server I am getting some weird error:

Parse error:  parse error, unexpected T_STRING in /home/oracle/infr/lib/php/nusoap.php(6983) : eval()'d code on line 1


Fatal error:  Cannot instantiate non-existent class:  soap_proxy_484983192 in /home/oracle/infr/lib/php/nusoap.php(6985) : eval()'d code on line 1

im not sure why this error is occuring since i am using the same php classes as my server machine at home. I am going to re-post this problem because its a different issue. Has anyone run into this type of problem using getProxy??

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.