Hi,

I guess what you want is doc/lit/wrapped, right?
Per JAX-WS SPEC, to generate wrapper style, your wsdl must be (as described in jaxws specs)

2.3.1.2 Wrapper Style 21
A WSDL operation qualifies for wrapper style mapping only if the following criteria are met: 22 (i) The operation’s input and output messages (if present) each contain only a single part 23 (ii) The input message part refers to a global element declaration whose localname is equal to the opera- 24
tion name 25
(iii) The output message part refers to a global element declaration 26
(iv) The elements referred to by the input and output message parts (henceforth referred to as wrapper 27 elements) are both complex types defined using the xsd:sequence compositor 28 (v) The wrapper elements only contain child elements, they must not contain other structures such as 29 wildcards (element or attribute), xsd:choice, substitution groups (element references are not per- 30
mitted) or attributes; furthermore, they must not be nillable.

You need change your wsdl accordingly.
Freeman


On 2009-7-21, at 上午10:38, 김강원 wrote:

Dear developer of CXF

My name is Kangwon from Korea.

First , We are thanks for your supplying of a good Webservice Engine.

We are developing the WebService Bridge by the Apache CXF

But We have a problem about soap binding

We want to make our project soap binding of a document/literal

If we operated wsdl2java for doc/literal of soap  , we always had
‘ParameterStyle.BARE’

Why didn’t CXF made doc/literal by the wsdl2java tool

Please asap your answer, thanks…



This is WSDL of our project



<?xml version="1.0" encoding="utf-8"?>

<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";

xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; xmlns:wsa="http://www.w3 .
org/2005/08/addressing"

xmlns:rm="http://docs.oasis-open.org/ws-rx/wsrm/200608";
xmlns:tns="http://docs.oasis-open.org/ws-rx/wsrm/200608/wsdl";

xmlns:nts="http://nts.go.kr/nts-ts"; targetNamespace="http://nts.go.kr/nts-
ts">

<wsdl:types>

<xs:schema  elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema";
targetNamespace="http://nts.go.kr/nts-ts";>

            <xs:element name="RequestMessage">

            <xs:complexType>

            <xs:sequence>

                          <xs:element name="SubmitID">

                          </xs:element>

                          <xs:element name="TotalCount">

                          </xs:element>

                          <xs:element name="ReferenceID">

                          </xs:element>

            </xs:sequence>

            </xs:complexType>

            </xs:element>

            <xs:element name="ResponseMessage">

                          <xs:complexType>

                                       <xs:sequence>

                                                    <xs:element
name="RefSubmitID">

                                                    </xs:element>

                                       </xs:sequence>

                          </xs:complexType>

            </xs:element>

</xs:schema>

</wsdl:types>



<wsdl:message name="SubmitEtaxInvoiceRequestMessage">

            <wsdl:part name="request" element="nts:RequestMessage"/>

</wsdl:message>

<wsdl:message name="SubmitEtaxInvoiceResponseMessage">

            <wsdl:part name="response" element="nts:ResponseMessage"/>

</wsdl:message>



<wsdl:portType name="SubmitEtaxInvoicePortType">

            <wsdl:operation name="SubmitEtaxInvoice">

                          <wsdl:input
message="nts:SubmitEtaxInvoiceRequestMessage" name="request"
wsa:Action="http://nts.go.kr/nts/TaxInvoiceSubmit"/>

                          <wsdl:output
message="nts:SubmitEtaxInvoiceResponseMessage"  name="response"
wsa:Action="http://nts.go.kr/nts/TaxInvoiceRecvAck"/>

            </wsdl:operation>

</wsdl:portType>





<wsdl:binding name="SubmitEtaxInvoiceBinding"
type="nts:SubmitEtaxInvoicePortType">

            <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>

            <wsdl:operation name="SubmitEtaxInvoice">

             <soap:operation style="document"
soapAction="http://itab.ktnet.com/TSR/callTSR"/>

                          <wsdl:input name="request">

                          <soap:body  use="literal"/>

                          </wsdl:input>

                          <wsdl:output name="response">

                          <soap:body use="literal"/>

                          </wsdl:output>

            </wsdl:operation>

</wsdl:binding>



<wsdl:service name="SubmitEtaxInvoiceService">

<wsdl:port name="SubmitEtaxInvoicePort"
binding="nts:SubmitEtaxInvoiceBinding">

<soap:address location="http://nts.go.kr:8080/Etax/msh?wsdl=eTax-Service "/>

</wsdl:port>

</wsdl:service>

</wsdl:definitions>







--
Freeman Fang
------------------------
Open Source SOA: http://fusesource.com

Reply via email to