Error specifying relative path in XSD in IS'7.1.1

Hi,
I have a wsdl which refers to XSD and the XSD in turn refers to many XSD’s having relative path in the schema location. I use IS 7.1.1 and I keep getting the exception "file not found
" even when I try to generate the webservcie deiscriptor. I have kept the “Enforce Basic profile” unchecked while generating the descriptor. One thing I observed is the relative path is getting substituted without the intial ‘/’ for the schema location.
Say like…
SchemaLocation = “…/…/inventory.xsd”

Expected location “/opt/wmdata/inventory.xsd”

Actual location “opt/wmdata/inventory.xsd” the starting ‘/’ is missed out and hence I get ‘file not found’ exception.

Please help me if any one had come accross the similar scenario. Thanks in advance.

I’m just guessing since you didn’t provide an example, but this sounds like a defect. Have you applied the latest web services and xml fixes for IS 7.1.x?

Did you try loading the same via xmlspy IDE and see if the error persists?? just for a debugging purpose?? Also make sure you apply the fixes as adviced above.

Thanks for the reply guys. I did try in loading the xml in xmlspy,it went well. My 7.1 IS has “IS_7-1-1_WebSvcsXML_Fix10” and not the latest Fix11. Will this be a problem causing the error. I tried with other 7.1 IS which doesnt have any webservice fix, to my surprise the ws descriptor got created. Please advice will this be a Fix issue or something else.Thanks

Has this been resolved?? Let me know the resolution if you have any…

Note from the WS Doc:
If you selected WSDL URL under Web Service Source, Developer displays the New Web
service descriptor from WSDL dialog box. Either type the URL for the document (it
should begin with http:// or https://) or click to navigate to and select a WSDL
document on your local file system. Currently, relative URIs are disallowed by the
WS‐I Basic Profile 1.1 Compliance standard. If the WSDL file uses relative URLs in
any of the XSD import or include statements, Developer will not create the Web

service descriptor.

Note from Doc:

Currently, relative URIs are disallowed by the
WS‐I Basic Profile 1.1 Compliance standard. If the WSDL file uses relative URLs in
any of the XSD import or include statements, Developer will not create the Web
service descriptor…

May this is still true in 7.1.2 release also??

Hi,
Yep it got resolved for me and I can create a WSD using the WSDL having relative xsd paths. The things we had taken care are

  • Do not set the basic complaince while creating WSD
  • Also make sure the IS has the latest WebSvcsXML_Fix11 fix applied

You bet…thanks for the update!!

Hello,

I am using 7.1.2 IS and I have the IS_7.1.2_WebSvcsXML_Fix17 installed but unfortunately I got the error above: I cannot import my WSDL to create a WSD with relative xsd paths. When I try to create my WSD as a provider or consumer, I got the same problem. I didn’t set the basic complaince while creating WSD.

How can I resolve this problem. XSD files are too complicated to be added manually in WSDL file.

Help

I suggest placing XSD’s in a public HTTP server, then modify WSDL and set schemaLocation to that network URL. That should resolve your issue.

I will try that. Hope this will work.
Thank you DevNull43

It works. Thank you very much :))

Hello,

When trying to create a web service descriptor (consumer) from the wsdl file i get the following error in WM dev 7.1 -
<<
[ITD.0031.0001] Create Web service descriptor ‘WSClient:RmsService’ failed.

com.wm.app.b2b.server.ServiceException: javax.wsdl.WSDLException: WSDLException (at /wsdl:definitions/wsdl:types/xsd:schema): faultCode=OTHER_ERROR: An error occurred trying to resolve schema referenced at ‘RmsService.xsd’, relative to ‘file:/C:/Documents and Settings/Administrator/Desktop/RMS WSDL/RMS/’.: java.io.FileNotFoundException: This file was not found: file:/C:/Documents and Settings/Administrator/Desktop/RMS WSDL/RMS/RmsService.xsd .

However the RmsService.xsd is located in the above specified path only.
The same wsdl works fine & i am able to create WS connector in WM dev 6.5.

Do i need to install any fix for the IS?..if yes how do i install the fix??

please advice…

Thanks in advance.

Shrey

I faced the same problem months ago. If my memory is good, there is no fix to correct this problem. WM 7 is unable to locate local XSD files.
The solution I found?
You need to put your XSD files on a distant server and change the xsdLocation on your WSDL file.
It must be http://distant_server/path/the_xsd_file.xsd

If the server is accessible, WM will create properly the webservice.

PS: If you are unable to find an accessible server where to put your files, use eclipse with a simple tomcat server, and place your files on a directory in one of the accessible demo application. Then get the ip address of your machine and use it like this: http://ip_adresse/path_to_file/file.xsd

Regards,

Hi when am trying to create a web service descriptor (provider) from a wsdl file (source WSDL URL) i get the following error in WM dev 8.0

[ITD.0031.0001] Create Web service descriptor ‘IsysSales.ActualRevenueSvc:ActualRevenueSvc’ failed.

When I click on details, I get the following,

com.wm.app.b2b.server.ServiceException: java.lang.NullPointerException
at wm.server.ws.wsdl2wsd(ws.java:1515)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:439)
at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:635)
at com.wm.app.b2b.server.util.tspace.ReservationProcessor.process(ReservationProcessor.java:46)
at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:238)
at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:51)
at com.wm.app.b2b.server.invoke.PipelineProcessor.process(PipelineProcessor.java:171)
at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:272)
at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:30)
at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:399)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:539)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:384)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:234)
at com.wm.app.b2b.server.comm.DefaultServerRequestHandler.handleMessage(DefaultServerRequestHandler.java:119)
at com.wm.app.b2b.server.HTTPMessageHandler.process(HTTPMessageHandler.java:160)
at com.wm.app.b2b.server.HTTPDispatch.handleRequest(HTTPDispatch.java:190)
at com.wm.app.b2b.server.Dispatch.run(Dispatch.java:350)
at com.wm.util.pool.PooledThread.run(PooledThread.java:131)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
at wm.server.ws.wsdl2wsd(ws.java:979)
… 23 more

am not sure what this error really means, any ideas? Help is really appreciated!