Please see Step #7 here for an example of how to work with Holder, it's rather simple: http://www.jroller.com/gmazza/date/20070929
Also, to switch between wrapper and non-wrapper styles (which I believe has some relation to getting rid of Holder), see the next-to-last question here: http://cwiki.apache.org/CXF20DOC/wsdl-to-java.html HTH, Glen 2008-06-19 Schmülling, Christian wrote: > Hello. > > I have a problem with generating java sources from wsdl file. I have a wsdl > in document literal wrapped style. It's a synchronous service. All I want is > a Java interface with a method with for my operation from service. My method > has no return value. Instead I got a "holder" and a WebParam in mode INOUT. > > What can I do with it? I can't find docs for it. > > A method with a return value would be my favourite. How can I get it? > > Here are some parts from my sources. > > <?xml version="1.0" encoding="UTF-8"?> > <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:tns="http://NS1" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:fault="http://NS2" > targetNamespace="http://NS1"> > <wsdl:types> > <xsd:schema targetNamespace="http://NS1" > xmlns:daten="http://NS1/message" > elementFormDefault="qualified"> > <xsd:import namespace="http://NS1/message" > schemaLocation="Daten.xsd"/> > <xsd:import namespace="http://NS2" > schemaLocation="Fault.xsd"/> > <xsd:element name="request"> > <xsd:complexType> > <xsd:sequence> > <xsd:element name="Message" > type="daten:MessageTyp"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="requestResponse"> > <xsd:complexType> > <xsd:sequence> > <xsd:element name="Message" > type="daten:MessageTyp"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > > ... > > </xsd:schema> > </wsdl:types> > > <wsdl:message name="request"> > <wsdl:part name="anfrage" element="tns:request"/> > </wsdl:message> > <wsdl:message name="requestResponse"> > <wsdl:part name="antwort" element="tns:requestResponse"/> > </wsdl:message> > > ... > > <wsdl:message name="Fault"> > <wsdl:part name="parameters" element="fault:FaultFault"/> > </wsdl:message> > > <wsdl:portType name="messagePortType"> > <wsdl:operation name="request"> > <wsdl:input name="request" message="tns:request"/> > <wsdl:output name="antwortAnzahlMitteilungen" > message="tns:requestResponse"/> > <wsdl:fault name="fault" message="tns:Fault"/> > </wsdl:operation> > > ... > > </wsdl:portType> > > <wsdl:binding name="messageSOAP" type="tns:messagePortType"> > <soap:binding style="document" > transport="http://schemas.xmlsoap.org/soap/http"/> > <wsdl:operation name="request"> > <soap:operation soapAction="http://NS3" > style="document"/> > <wsdl:input name="request"> > <soap:body use="literal"/> > </wsdl:input> > <wsdl:output name="antwortAnzahlMitteilungen"> > <soap:body use="literal"/> > </wsdl:output> > <wsdl:fault name="fault"> > <soap:fault name="fault" use="literal"/> > </wsdl:fault> > </wsdl:operation> > > ... > > </wsdl:binding> > > <wsdl:service name="NAME"> > <wsdl:port name="messageSOAP" binding="tns:messageSOAP"> > <soap:address location="http://a_location"/> > </wsdl:port> > </wsdl:service> > </wsdl:definitions> > > > I can't see any error here. More then one validator means it is a valid wsdl. > In java I get the following sources for my porttype. > > > @WebService(targetNamespace = "http://NS1", name = "messagePortType") > > public interface MessagePortType { > > @ResponseWrapper(targetNamespace = "http://NS1", className = > "package.RequestResponse", localName = "requestResponse") > @RequestWrapper(targetNamespace = "http://NS1", className = > "package.Request", localName = "request") > @WebMethod(action = "http://NS3") > public void request( > @WebParam(targetNamespace = "http://NS1", mode = Mode.INOUT, name = > "Message") > javax.xml.ws.Holder<package.message.MessageTyp> message > ) throws Fault; > } > > > As you can see I get a method with a void return parameter. I expect a return > parameter with type of package.message.MessageTyp. > Here some information about the frameworks: cxf 2.0.1, spring 2.5.3 > > I hope it's a simple beginner mistake und you can help me fast. > > With best regards > Christian
