We want the web service to publish the user created WSDL instead of the JBOssWS generated
WSDL. I followed the instructions as in this post viz.
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4031124#...
However, I am now getting the following error when I try to deploy the war.
12:19:13,139 ERROR [MainDeployer] Could not create deployment:
file:/C:/sofadev/dev-env/jboss-4.0.5.GA/server/flagstar/deploy/fsb-MortgageService.war
org.jboss.deployment.DeploymentException: Cannot create service endpoint; - nested
throwable: (java.lang.IllegalArgumentException: Illegal schema location map)
at
org.jboss.deployment.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:53)
at
org.jboss.ws.integration.jboss42.DeployerInterceptor.create(DeployerInterceptor.java:83)
at
org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.create(SubDeployerInterceptorSupport.java:180)
at
org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:91)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy39.create(Unknown Source)
at org.jboss.deployment.MainDeployer.create(MainDeployer.java:969)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:818)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
at sun.reflect.GeneratedMethodAccessor55.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at
org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy8.deploy(Unknown Source)
at
org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
at
org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:610)
at
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
at
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
at
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
Caused by: java.lang.IllegalArgumentException: Illegal schema location map
at org.jboss.ws.tools.JavaToXSD.parseSchema(JavaToXSD.java:155)
at org.jboss.ws.tools.wsdl.WSDL11Reader.processTypes(WSDL11Reader.java:278)
at org.jboss.ws.tools.wsdl.WSDL11Reader.processDefinition(WSDL11Reader.java:165)
at
org.jboss.ws.tools.wsdl.WSDLDefinitionsFactory.parse(WSDLDefinitionsFactory.java:131)
at
org.jboss.ws.metadata.umdm.ServiceMetaData.getWsdlDefinitions(ServiceMetaData.java:313)
at
org.jboss.ws.metadata.builder.jaxws.JAXWSWebServiceMetaDataBuilder.buildWebServiceMetaData(JAXWSWebServiceMetaDataBuilder.java:139)
at
org.jboss.ws.metadata.builder.jaxws.JAXWSServerMetaDataBuilder.setupProviderOrWebService(JAXWSServerMetaDataBuilder.java:49)
at
org.jboss.ws.metadata.builder.jaxws.JAXWSMetaDataBuilderJSE.buildMetaData(JAXWSMetaDataBuilderJSE.java:68)
at
org.jboss.ws.core.server.ServiceEndpointDeployer.create(ServiceEndpointDeployer.java:90)
at
org.jboss.ws.integration.jboss42.DeployerInterceptor.createServiceEndpoint(DeployerInterceptor.java:127)
at
org.jboss.ws.integration.jboss42.DeployerInterceptorJSE.createServiceEndpoint(DeployerInterceptorJSE.java:132)
at
org.jboss.ws.integration.jboss42.DeployerInterceptor.create(DeployerInterceptor.java:78)
... 28 more
The WSDL file does some imports of external schemas which in turn can import other
schemas. The .wsdl file has been placed in WEB-INF/wsdl and the schema files have been
copied to the same spot too. The relevant section in the .wsdl file is
| <types>
| <xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema/">
|
<xsd:import namespace="http://com.fsb.sofa/samples/services/mortgageservice/BorrowerRequest/"
| schemaLocation="BorrowerRequest.xsd">
| </xsd:import>
| <xsd:import
namespace="http://com.fsb.sofa/samples/services/mortgageservice/MortgageResponse/"
| schemaLocation="MortgageResponse.xsd">
| </xsd:import>
| <xsd:import
namespace="http://com.fsb.sofa/samples/services/mortgageservice/InvalidBorrowerException/"
| schemaLocation="InvalidBorrowerException.xsd">
| </xsd:import>
| </xsd:schema>
| </types>
|
My question is this: Is this the proper way to refer to external schemas when you want to
publish your own WSDL or would you have to refer to them as
schemaLocation="WEB-INF/wsdl/MortgageResponse.xsd"
The example MortgageResponse.xsd file is (note the import)
| <?xml version="1.0" encoding="UTF-8"?>
| <schema
targetNamespace="http://com.fsb.sofa/samples/services/mortgageservice/MortgageResponse"
elementFormDefault="qualified"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:Q1="http://www.example.org/Mortgage"
xmlns:mortgage="http://com.fsb.sofa/samples/services/mortgageservice/Mortgage"
xmlns:mr="http://com.fsb.sofa/samples/services/mortgageservice/MortgageResponse">
|
| <import schemaLocation="Mortgage.xsd"
namespace="http://com.fsb.sofa/samples/services/mortgageservice/Mortgage"></import>
|
|
| <complexType name="MortgageResponseType">
| <sequence>
| <element name="mortgage"
type="mortgage:MortgageType"></element>
| <element name="borrowerFirstName"
type="string"></element>
| <element name="borrowerLastName"
type="string"></element>
| </sequence>
| </complexType>
|
| <element name="MortgageResponse"
type="mr:MortgageResponseType"></element>
| </schema>
|
Any help in this matter is appreciated. If you need any additional information, I will be
glad to provide it.
JBossWS 1.2.0.SP1
JBoss 4.0.5.GA
Regards
Sandesh
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4036058#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...