| Author |
Message |
rnatarajan Forum Member


Joined: 13 Oct 2009
Posts: 15

|
Posted: Fri Feb 05, 2010 4:25 pm Post subject: Web service function import error |
|
|
I am using DI 12.2 and getting a XML parser error trying to import a function.
I have attached a screen shot of the error and also the WSDL file. Is there a way for DI to consume this web service? Appreciate any help.
Thanks.
Ram |
|
| Back to top |
|
 |
manoj_d Forum Enthusiast


Joined: 01 Jan 2009
 Posts: 1097

|
Posted: Sat Feb 06, 2010 5:54 pm Post subject: Re: Web service function import error |
|
|
this will require some time to investigate, but did find a workaround though not very clean one
1) first save the WSDL to a file (you already have that)
2) also download and save the following schema to a file named encoding.xsd, make sure that both the WSDL and this file are save in the same location
http://schemas.xmlsoap.org/soap/encoding/
3) Open the WSDL file in notepad and modify the following line
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
to
<import schemaLocation="encoding.xsd" namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
4) search for authInfo, and modify the highighted in bold
<!-- Message definitions -->
<wsdl:message name="authenticationHeader">
<wsdl:part name="authInfo" type="impl:authentication"/>
</wsdl:message>
to
<!-- Message definitions -->
<wsdl:message name="authenticationHeader">
<wsdl:part name="authInfo" type="xsd:string"/>
</wsdl:message>
5) In the 4th step since the import was not able to resolve authentication type, we replaced it with string, now import the functions in Datastore, amd modify the input schema of all the functions which have authenticationHeader element for this do the following
Open the function schema from Datastore (double click on function name is Datastore)
expand the REQUEST_SCHEMA, delete the authInfo, node, and add new schema, name it as authentication, add 2 columns username and password under this node, exit Designer (this is important, else the changes will not be saved). Open Designer and see if you see the changes. Do this for all the function that have authInfo element
6) Try calling function in DF and see if it works
I tried to import this WSDL in latest 12.2.1 FP, but it gives different error in that, will debug and see what is causing the problem or if there something that is not supported |
|
| Back to top |
|
 |
rnatarajan Forum Member


Joined: 13 Oct 2009
Posts: 15

|
Posted: Mon Feb 08, 2010 10:24 am Post subject: Re: Web service function import error |
|
|
Thanks, Manoj for your workaround and detailed instructions.
I tried it, but I am getting a different error when trying to import. The screenshot is attached. |
|
| Back to top |
|
 |
manoj_d Forum Enthusiast


Joined: 01 Jan 2009
 Posts: 1097

|
Posted: Mon Feb 08, 2010 12:05 pm Post subject: Re: Web service function import error |
|
|
| this the same error that I get in the latest FP for 12.2, have to debug and see what is causing this error |
|
| Back to top |
|
 |
rnatarajan Forum Member


Joined: 13 Oct 2009
Posts: 15

|
Posted: Mon Feb 08, 2010 6:09 pm Post subject: Re: Web service function import error |
|
|
Manoj,
I deleted the NOTATION from the encoding.xsd and was able to import the function without error. I modified the schema for authentication as you suggested. I will try to use the function in DF tomorrow and let you know the results. Appreciate your help.
Ram |
|
| Back to top |
|
 |
dnewton Forum Addict


Joined: 30 Jan 2004
       Posts: 3194 Location: Massachusetts, USA

|
|
| Back to top |
|
 |
manoj_d Forum Enthusiast


Joined: 01 Jan 2009
 Posts: 1097

|
Posted: Wed Feb 10, 2010 4:33 pm Post subject: Re: Web service function import error |
|
|
| attached is the modified wsdl and xsd, try using geocodeservice.wsdl as Webservice URL in Datastore (give the complete file location) and see if you are able to import the functions |
|
| Back to top |
|
 |
manoj_d Forum Enthusiast


Joined: 01 Jan 2009
 Posts: 1097

|
Posted: Wed Feb 10, 2010 5:09 pm Post subject: Re: Web service function import error |
|
|
I think you are using WebService Datastore, and the URL is HTTPS, for this you will have to modify the axis2.xml on the job server machine
the file will be in following folder
%LINK_DIR%\ext\webservice-c
uncomment the following tags (search for https in that file)
1)
<!--transportReceiver name="https" class="axis2_http_receiver">
<parameter name="port" locked="false">6060</parameter>
<parameter name="exposeHeaders" locked="true">false</parameter>
</transportReceiver-->
2)
<!--transportSender name="https" class="axis2_http_sender">
<parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
<parameter name="xml-declaration" insert="false"/>
</transportSender>
<parameter name="SERVER_CERT">/path/to/ca/certificate</parameter>
<parameter name="KEY_FILE">/path/to/client/certificate/chain/file</parameter>
<parameter name="SSL_PASSPHRASE">passphrase</parameter>
--> |
|
| Back to top |
|
 |
|