login button

"Namespace error" on import of WSDL using schema-includes

Forums :

Dear reader,

When I use the WSClient to call a webservice defined in IBM Websphere ESB by a WSDL which uses several layers of imports, performing the actual call results in the following errormessage:

"Namespace Error"
/export/home/nhoozemans/projects/zigcm/wsoscripts/dynamic_invocation/wsf_wsdl_client.php
Line 104

In the lines:

$client = new WSClient( array("wsdl"=>"...") );
$proxy = $client->getProxy();
...
$output = $proxy->Operation(array($input));

The error only occurs at execution at the last line.

the peculiar thing is that when I gather all includes into one WSDL, the code works flawlessly.

This leads me to believe that there is something amiss with the WSO-objects ability to work with WSDLs using imports or includes.

Does anybody have any data on this?

Thanks in advance,

G.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Hi Gralgrather, This can be

Hi Gralgrather,
This can be a bug in the WSDL import/include mechanism in the WSDL. Since we use XSLT to process WSDL we first generate a combined wsdl from all the schema/wsdl import/includes.
If possible can you send us the wsdl or try the svn. (we may have already fixed it)

Thanks
Dimuthu

Hi,

Hi,

i have the same problem. i generated the php script (wsdl2php) and i called this and i received the same response --> "Message = Namespace Error"

@dimuth.. can i send you my wsdl file for checking? because i use the SoapClient (php) before and it will work with this wsdl.

many thanks in advance
best regards
S.

edit: the error happens here: DOMDocument->createElementNS( ) ../wsf_wsdl_client.php:155

Are you using wsf/PHP 2.0.0?

Are you using wsf/PHP 2.0.0? If so you can just download the wsdl and remove the recursive schema imports and check whether it is working.

You can attach the wsdl to the fourm so we can check whats wrong.

thanks for fast reply.

thanks for fast reply.
ok i attached the wsdl. it was automatically generated by ibm content manager.

yes i use wsf/php 2.0.0 but i don´t know what you mean with "remove the recursive schema imports..."

i use apache 2.2 and not apache axis2 - is this a problem?

thanks!
S.

AttachmentSize
CMBGenericWebService.wsdl3.35 KB

in wsdl file i changed the

in wsdl file i changed the import parameter from location="..." to schemaLocation"..."... namespace error is solved but now i receive other errors in errorlog.
[info] [rampart][rampart_mod] rampart_mod initialized
[info] [rahas]Rahas module initialized
[info] Starting addressing out handler
[error] http_sender.c(1419) Error occurred in transport
[error] engine.c(179) Transport sender invoke failed
[error] /tmp/pear/cache/wso2_wsf_php-2.0.0/src/wsf_wsdl.c(1153) [wsf_wsdl] Response envelope not found
[info] [rampart][rampart_mod] rampart_mod shutdown
[info] [rahas] Rahas module shutdown

Do somebody know what is the reason for these errors?
Many Thanks in advance

best regards
S.

Hi RSCP, I checked your wsdl

Hi RSCP,
I checked your wsdl and it has a namespace xmlns:apachesoap="http://xml.apache.org/xml-soap" which is unknown to wsf/php.

I feel there is an import element missing something like.

Here in http://somewhere.valid you should have the relevant schema file. It can be a local file as well (Relative path should be given relative to the wsdl).

Thanks
Dimuthu

Hi Dimuthu the problem with

Hi Dimuthu

the problem with the namespaces is solved (see my last thread)

now i receive other errors in errorlog.
[info] [rampart][rampart_mod] rampart_mod initialized
[info] [rahas]Rahas module initialized
[info] Starting addressing out handler
[error] http_sender.c(1419) Error occurred in transport
[error] engine.c(179) Transport sender invoke failed
[error] /tmp/pear/cache/wso2_wsf_php-2.0.0/src/wsf_wsdl.c(1153) [wsf_wsdl] Response envelope not found
[info] [rampart][rampart_mod] rampart_mod shutdown
[info] [rahas] Rahas module shutdown

Do you know what is the reason for these errors?

Do i need apache axis2 as webserver on the client side or should it works also with apache 2.2?

Many Thanks in advance

best regards
Stefan

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.