[
http://jira.codehaus.org/browse/XFIRE-860?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_95019
]
Ole Jørgen Aurebekk commented on XFIRE-860:
-------------------------------------------
Forgot to mention: I'm on a standard XML binding, java 1.4.2, weblogic 8.1 and
Spring 2.0 configuration.
> Warning produced by com.sun.tools.ws.ant.WsImport when importing wsdl
> generated by xfire
> -----------------------------------------------------------------------------------------
>
> Key: XFIRE-860
> URL: http://jira.codehaus.org/browse/XFIRE-860
> Project: XFire
> Issue Type: Bug
> Components: JAXB 2.0
> Affects Versions: 1.2.4
> Environment: Windows XP, Bea Weblogic 9.2
> Reporter: Matthew Eanor
> Assignee: Dan Diephouse
> Priority: Minor
> Attachments: buggy_wsdl.xml
>
>
> The following warning message is produced by com.sun.tools.ws.ant.WsImport
> when importing wsdl generated by xfire running on Bea Weblogic 9.2. I am
> using the jaxb service factory to permit polymorphism on the client side.
> warning: s4s-att-invalid-value: Invalid attribute value for 'type' in element
> 'element'. Recorded reason: UndeclaredPrefix: Cannot resolve 'ns4:DogTO' as a
> QName: the prefix 'ns4' is not declared.
> line ? of
> http://127.0.0.1:7001/TestApp2/services/HelloService?wsdl#types?schema1
> This warning can be reproduced by creating a base class and a subclass of
> this class. In the subclass, there should be a list or map with type
> arguments that are not Object, String, or some other type that can map to
> elements in the xs namespace. Importing the wsdl generated by xfire using
> WsImport should produce a similar warning message.
> The sample wsdl extract below has been generated from the derived class
> KennelsTO which derives from the BuildingTO class, and provides methods for
> accessing a List of DogTO objects. (This is a sample to demonstate the issue,
> so bear with the dubious class names)
> {{
> <xs:complexType name="KennelsTO">
> <xs:complexContent>
> <xs:extension xmlns:ns4="urn:test:matt" base="ns4:BuildingTO">
> <xs:sequence>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="dogs" nillable="true"
> type="ns4:DogTO"/>
> </xs:sequence>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> <xs:complexType abstract="true" name="BuildingTO"/>
> <xs:complexType name="DogTO">
> <xs:sequence>
> <xs:element minOccurs="0" name="ID" type="xs:string"/>
> </xs:sequence>
> </xs:complexType>
> }}
> I have included the source files that the wsdl is generated from and the
> services xml file below, and attached the complete wsdl generated by xfire.
> There do not seem to be any side effects in the generated classes as a result
> of this warning, but would appreciate any comments as to why the wsdl is
> causing these warnings and if there is any way to suppress them.
> Thanks,
> Matt
> services.xml
> <beans xmlns="http://xfire.codehaus.org/config/1.0">
> <service>
> <serviceClass>matt.test.MyServiceImpl</serviceClass>
> <serviceFactory>org.codehaus.xfire.jaxb2.JaxbServiceFactory</serviceFactory>
> </service>
> </beans>
> The sample classes below were used to generate the attached wsdl.
> MyServiceImpl.java
> package matt.test;
> import java.util.Collections;
> import javax.jws.*;
> import javax.jws.soap.SOAPBinding;
> import java.util.*;
> @WebService(name="Hello", serviceName="HelloService",
> targetNamespace="http://example.com")
> @SOAPBinding(parameterStyle=SOAPBinding.ParameterStyle.BARE,
> style=SOAPBinding.Style.DOCUMENT, use=SOAPBinding.Use.LITERAL)
> public class MyServiceImpl {
>
> private static final KennelsTO myKennels = new KennelsTO();
>
> @javax.jws.WebMethod
> @javax.jws.WebResult(partName="parameters")
> public FindKennelsResponse
> findKennelsEntry(@javax.jws.WebParam(partName="parameters")FindKennelsRequest
> request) {
> FindKennelsResponse resp = new FindKennelsResponse();
> resp.setResult(myKennels);
> return resp;
> }
>
> public MyServiceImpl() {
> }
> }
> FindKennelsRequest.java
> package matt.test;
> @javax.xml.bind.annotation.XmlAccessorType(javax.xml.bind.annotation.XmlAccessType.FIELD)
> @javax.xml.bind.annotation.XmlType(name = "findKennelsRequest", propOrder =
> {"identity"}, namespace="urn:test:matt")
> @javax.xml.bind.annotation.XmlRootElement (name="findKennelsRequest",
> namespace="urn:test:matt")
> public class FindKennelsRequest {
> private java.util.UUID identity;
>
> public java.util.UUID getIdentity() {
> return identity;
> }
> public void setIdentity(java.util.UUID identity) {
> this.identity = identity;
> }
> }
> FindKennelsResponse.java
> package matt.test;
> @javax.xml.bind.annotation.XmlAccessorType(javax.xml.bind.annotation.XmlAccessType.FIELD)
> @javax.xml.bind.annotation.XmlType( name = "findKennelsResponse", propOrder =
> { "result" }, namespace="urn:test:matt")
> @javax.xml.bind.annotation.XmlRootElement( name="findKennelsResponse",
> namespace="urn:test:matt")
> public class FindKennelsResponse {
> private KennelsTO result;
> public KennelsTO getResult() {
> return result;
> }
> public void setResult(KennelsTO result) {
> this.result = result;
> }
> }
> KennelsTO.java
> package matt.test;
> @javax.xml.bind.annotation.XmlType(name="KennelsTO",
> namespace="urn:test:matt")
> public class KennelsTO extends BuildingTO {
> private java.util.List<DogTO> dogs;
>
> public java.util.List<DogTO> getDogs() {
> return dogs;
> }
>
> public void setDogs(java.util.List<DogTO> dogs) {
> this.dogs = dogs;
> }
> }
> BuildingTO.java
> package matt.test;
> @javax.xml.bind.annotation.XmlType(name="BuildingTO",
> namespace="urn:test:matt")
> public abstract class BuildingTO {
>
> }
> DogTO.java
> package matt.test;
> @javax.xml.bind.annotation.XmlType(name="DogTO", namespace="urn:test:matt")
> public class DogTO {
> private java.util.UUID id;
> public java.util.UUID getID() {
> return id;
> }
> public void setID(java.util.UUID id) {
> this.id = id;
> }
> }
> ant build script
> <target name="clientxfire">
> <taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport">
> <classpath path="${javac.classpath}"/>
> </taskdef>
> <wsimport
> debug="true"
> keep="true"
> destdir="test"
> package="matt.gen.xfire"
> wsdl="http://127.0.0.1:7001/TestApp2/services/HelloService?wsdl"
> />
> </target>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email