It looks like there is a problem with the namespace for web faults when this is 
not the same as the namespace of the service. The type definition of the web 
faults has the correct namespace, but the reference to the type from the 
messsage elements uses the name space of the service instead. 

For example:package zzz.ws.flt;
  | 
  | import javax.xml.bind.annotation.XmlType;
  | import javax.xml.ws.WebFault;
  | 
  | @WebFault(targetNamespace="zzz.ws.flt")
  | @XmlType(namespace="zzz.ws.flt")
  | public class ZZZException extends Exception {
  |   private String info;
  | 
  |   public ZZZException(String info) {
  |     this.setInfo(info);
  |   }
  | 
  |   public void setInfo(String info) {
  |     this.info = info;
  |   }
  | 
  |   public String getInfo() {
  |     return info;
  |   }
  | }
andpackage zzz.ws.srv.impl;
  | 
  | import javax.ejb.Remote;
  | import javax.ejb.Stateless;
  | import javax.jws.WebMethod;
  | import javax.jws.WebService;
  | import javax.jws.soap.SOAPBinding;
  | import javax.jws.soap.SOAPBinding.ParameterStyle;
  | import javax.jws.soap.SOAPBinding.Style;
  | import javax.jws.soap.SOAPBinding.Use;
  | 
  | import zzz.ws.flt.ZZZException;
  | import zzz.ws.srv.ZZZService;
  | 
  | @Stateless
  | @Remote(ZZZService.class)
  | @WebService(targetNamespace="zzz.ws.srv", name="ZZZService")
  | @SOAPBinding(style=Style.DOCUMENT, use=Use.LITERAL, 
parameterStyle=ParameterStyle.WRAPPED)
  | public class ZZZServiceImpl implements ZZZService {
  | 
  |   @WebMethod
  |   public String echo(String input) throws ZZZException {
  |     return input;
  |   }
  | }

generates

<?xml version="1.0" encoding="UTF-8"?>
  | <definitions name="ZZZServiceImplService" targetNamespace="zzz.ws.srv" 
xmlns:tns="zzz.ws.srv" xmlns:ns1="zzz.ws.flt" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns="http://schemas.xmlsoap.org/wsdl/";>
  |   <types>
  |     <xs:schema targetNamespace="zzz.ws.srv" version="1.0" 
xmlns:tns="zzz.ws.srv" xmlns:xs="http://www.w3.org/2001/XMLSchema";>
  |    <xs:element name="echo" type="tns:echo"/>
  |    <xs:element name="echoResponse" type="tns:echoResponse"/>
  |    <xs:complexType name="echo">
  |     <xs:sequence>
  |      <xs:element minOccurs="0" name="arg0" type="xs:string"/>
  |     </xs:sequence>
  |    </xs:complexType>
  |    <xs:complexType name="echoResponse">
  |     <xs:sequence>
  |      <xs:element minOccurs="0" name="return" type="xs:string"/>
  |     </xs:sequence>
  |    </xs:complexType>
  |   </xs:schema>
  |     <xs:schema targetNamespace="zzz.ws.flt" version="1.0" 
xmlns:tns="zzz.ws.flt" xmlns:xs="http://www.w3.org/2001/XMLSchema";>
  |    <xs:element name="ZZZException" type="tns:ZZZException"/>
  |    <xs:complexType name="ZZZException">
  |     <xs:sequence>
  |      <xs:element minOccurs="0" name="info" type="xs:string"/>
  |      <xs:element minOccurs="0" name="message" type="xs:string"/>
  |     </xs:sequence>
  |    </xs:complexType>
  |   </xs:schema>
  |   </types>
  |   <message name="ZZZService_echo">
  |     <part name="echo" element="tns:echo">
  |     </part>
  |   </message>
  |   <message name="ZZZException">
  |     <part name="ZZZException" element="tns:ZZZException">
  |     </part>
  |   </message>
  |   <message name="ZZZService_echoResponse">
  |     <part name="echoResponse" element="tns:echoResponse">
  |     </part>
  |   </message>
  |   <portType name="ZZZService">
  |     <operation name="echo" parameterOrder="echo">
  |       <input message="tns:ZZZService_echo">
  |     </input>
  |       <output message="tns:ZZZService_echoResponse">
  |     </output>
  |       <fault name="ZZZException" message="tns:ZZZException">
  |     </fault>
  |     </operation>
  |   </portType>
  |   <binding name="ZZZServiceBinding" type="tns:ZZZService">
  |     <soap:binding style="document" 
transport="http://schemas.xmlsoap.org/soap/http"/>
  |     <operation name="echo">
  |       <soap:operation soapAction=""/>
  |       <input>
  |         <soap:body use="literal"/>
  |       </input>
  |       <output>
  |         <soap:body use="literal"/>
  |       </output>
  |       <fault name="ZZZException">
  |         <soap:fault name="ZZZException" use="literal"/>
  |       </fault>
  |     </operation>
  |   </binding>
  |   <service name="ZZZServiceImplService">
  |     <port name="ZZZServicePort" binding="tns:ZZZServiceBinding">
  |       <soap:address 
location="http://jbossws.undefined.host:8080/zzz-zzzservice-ejb/ZZZServiceImpl"/>
  |     </port>
  |   </service>
  | </definitions>

Notice the element="tns:ZZZException" in the output.

This is running jbossws-native-3.1.0.GA on jboss-4.2.3.GA.

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4222724#4222724

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4222724
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to