Vijay Ramachandran wrote:
> Ryan,
>
> How does the @WebService annotation look ? Is there a wsdlLocation
> attribute that points to the wsdl location correctly.
>
I have:
@WebService(serviceName="Coordinator",
portName="ActivationCoordinator",
endpointInterface = "com.sun.org.xmlsoap.ws.coord.ActivationCoordinatorPortType",
targetNamespace = "
http://schemas.xmlsoap.org/ws/2004/10/wscoor",
wsdlLocation = "WEB-INF/wsdl/wscoor.wsdl")
public class ActivationCoordinatorPortTypeImpl implements ActivationCoordinatorPortType {...}
and then my war has the wsdl under WEB-INF/wsdl/wscoor.wsdl.
FWIW, Bobby suggested putting a copy of the ws-addressing xml types in my
war file and edit my wsdl to point to it and that worked fine.
> This exception is caused because in the JavaEE environment, you cannot
> get access to your local file system. If you are packaging WSDL, then it
> should be in your WAR/JAR and the location in the WAR/JAR relative to
> the root of the module should be specified in the wsdlLocation
> attribute.
>
I think that's exactly what I'm doing. However:
When my wsdl has this:
<wsdl:types>
<xs:schema>
<xs:import
namespace='
http://schemas.xmlsoap.org/ws/2004/08/addressing'
schemaLocation='
http://schemas.xmlsoap.org/ws/2004/08/addressing'/>
</>
</>
I get the exception:
file:/D:/gf-v2b17/domains/domain1/applications/j2ee-modules/wstx-services/WEB-INF/wsdl/http:/schemas.xmlsoap.org/ws/2004/08/addressing
It looks like the system is looking for the addressing file relative to
my wsdlLocation, which seems like a bug to me.
If I place a copy of addressing.xml in WEB-INF/wsdl and change wscoor.wsdl to:
<wsdl:types>
<xs:schema>
<xs:import
namespace='
http://schemas.xmlsoap.org/ws/2004/08/addressing'
schemaLocation='addressing.xml'/>
</>
</>
it works fine.
I'd rather not bundle the address types.
Thanks,
--Ryan