KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > servicemix > soap > marshalers > SoapMarshaler


1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements. See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License. You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */

17 package org.apache.servicemix.soap.marshalers;
18
19 import javax.xml.namespace.QName JavaDoc;
20 import javax.xml.stream.XMLInputFactory;
21 import javax.xml.stream.XMLOutputFactory;
22
23 import org.apache.servicemix.jbi.jaxp.StAXSourceTransformer;
24
25 /**
26  *
27  * @author Guillaume Nodet
28  * @version $Revision: 359186 $
29  * @since 3.0
30  */

31 public class SoapMarshaler {
32
33     public static final String JavaDoc MIME_CONTENT_TYPE = "Content-Type";
34     public static final String JavaDoc MULTIPART_CONTENT = "multipart/";
35     public static final String JavaDoc SOAP_PART_ID = "soap-request";
36     public static final String JavaDoc SOAP_11_URI = "http://schemas.xmlsoap.org/soap/envelope/";
37     public static final String JavaDoc SOAP_12_URI = "http://www.w3.org/2003/05/soap-envelope";
38     public static final String JavaDoc SOAP_PREFIX = "env";
39     public static final String JavaDoc ENVELOPE = "Envelope";
40     public static final String JavaDoc HEADER = "Header";
41     public static final String JavaDoc BODY = "Body";
42     public static final String JavaDoc FAULT = "Fault";
43     
44     public static final QName JavaDoc SOAP_11_FAULTCODE = new QName JavaDoc("faultcode");
45     public static final QName JavaDoc SOAP_11_FAULTSTRING = new QName JavaDoc("faultstring");
46     public static final QName JavaDoc SOAP_11_FAULTACTOR = new QName JavaDoc("faultactor");
47     public static final QName JavaDoc SOAP_11_FAULTDETAIL = new QName JavaDoc("detail");
48     public static final QName JavaDoc SOAP_11_CODE_VERSIONMISMATCH = new QName JavaDoc(SOAP_11_URI, "VersionMismatch");
49     public static final QName JavaDoc SOAP_11_CODE_MUSTUNDERSTAND = new QName JavaDoc(SOAP_11_URI, "MustUnderstand");
50     public static final QName JavaDoc SOAP_11_CODE_CLIENT = new QName JavaDoc(SOAP_11_URI, "Client");
51     public static final QName JavaDoc SOAP_11_CODE_SERVER = new QName JavaDoc(SOAP_11_URI, "Server");
52     
53     public static final QName JavaDoc SOAP_12_FAULTCODE = new QName JavaDoc(SOAP_12_URI, "Code");
54     public static final QName JavaDoc SOAP_12_FAULTSUBCODE = new QName JavaDoc(SOAP_12_URI, "Subcode");
55     public static final QName JavaDoc SOAP_12_FAULTVALUE = new QName JavaDoc(SOAP_12_URI, "Value");
56     public static final QName JavaDoc SOAP_12_FAULTREASON = new QName JavaDoc(SOAP_12_URI, "Reason");
57     public static final QName JavaDoc SOAP_12_FAULTTEXT = new QName JavaDoc(SOAP_12_URI, "Text");
58     public static final QName JavaDoc SOAP_12_FAULTNODE = new QName JavaDoc(SOAP_12_URI, "Node");
59     public static final QName JavaDoc SOAP_12_FAULTROLE = new QName JavaDoc(SOAP_12_URI, "Role");
60     public static final QName JavaDoc SOAP_12_FAULTDETAIL = new QName JavaDoc(SOAP_12_URI, "Detail");
61     public static final QName JavaDoc SOAP_12_CODE_DATAENCODINGUNKNOWN = new QName JavaDoc(SOAP_12_URI, "DataEncodingUnknown");
62     public static final QName JavaDoc SOAP_12_CODE_VERSIONMISMATCH = new QName JavaDoc(SOAP_12_URI, "VersionMismatch");
63     public static final QName JavaDoc SOAP_12_CODE_MUSTUNDERSTAND = new QName JavaDoc(SOAP_12_URI, "MustUnderstand");
64     public static final QName JavaDoc SOAP_12_CODE_RECEIVER = new QName JavaDoc(SOAP_12_URI, "Receiver");
65     public static final QName JavaDoc SOAP_12_CODE_SENDER = new QName JavaDoc(SOAP_12_URI, "Sender");
66     
67     protected XMLInputFactory inputFactory;
68     protected XMLOutputFactory outputFactory;
69     protected StAXSourceTransformer sourceTransformer;
70     protected boolean repairingNamespace;
71     protected String JavaDoc prefix = SOAP_PREFIX;
72     protected boolean soap = true;
73     protected boolean useDom = false;
74     protected String JavaDoc soapUri = SOAP_12_URI;
75
76     public SoapMarshaler() {
77     }
78
79     public SoapMarshaler(boolean soap) {
80         this.soap = soap;
81     }
82
83     public SoapMarshaler(boolean soap, boolean useDom) {
84         this.soap = soap;
85         this.useDom = useDom;
86     }
87
88     public XMLInputFactory getInputFactory() {
89         if (inputFactory == null) {
90             inputFactory = XMLInputFactory.newInstance();
91             inputFactory.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, Boolean.TRUE);
92         }
93         return inputFactory;
94     }
95
96     public XMLOutputFactory getOutputFactory() {
97         if (outputFactory == null) {
98             outputFactory = XMLOutputFactory.newInstance();
99             if (isRepairingNamespace()) {
100                 outputFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES,
101                                           Boolean.valueOf(isRepairingNamespace()));
102             }
103         }
104         return outputFactory;
105     }
106     
107     public StAXSourceTransformer getSourceTransformer() {
108         if (sourceTransformer == null) {
109             sourceTransformer = new StAXSourceTransformer();
110         }
111         return sourceTransformer;
112     }
113
114     public boolean isRepairingNamespace() {
115         return repairingNamespace;
116     }
117
118     public void setRepairingNamespace(boolean repairingNamespace) {
119         this.repairingNamespace = repairingNamespace;
120     }
121     
122     public boolean isSoap() {
123         return soap;
124     }
125     
126     public void setSoap(boolean soap) {
127         this.soap = soap;
128     }
129     
130     /**
131      * @return the useDom
132      */

133     public boolean isUseDom() {
134         return useDom;
135     }
136
137     /**
138      * @param useDom the useDom to set
139      */

140     public void setUseDom(boolean useDom) {
141         this.useDom = useDom;
142     }
143
144     public String JavaDoc getPrefix() {
145         return prefix;
146     }
147     
148     public void setPrefix(String JavaDoc prefix) {
149         this.prefix = prefix;
150     }
151     
152     public String JavaDoc getSoapUri() {
153         return soapUri;
154     }
155     
156     public void setSoapUri(String JavaDoc soapUri) {
157         this.soapUri = soapUri;
158     }
159     
160     public SoapReader createReader() {
161         return new SoapReader(this);
162     }
163
164     public SoapWriter createWriter(SoapMessage message) {
165         return new SoapWriter(this, message);
166     }
167 }
168
Popular Tags