blob: 4e7063b84358d4a68a672432841628b2820302f2 [file] [log] [blame]
/*
* Copyright 2004,2005 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package test.interop.whitemesa.round4.complex.utils;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axiom.soap.SOAPFactory;
import test.interop.whitemesa.SunClientUtil;
public class EchoSOAPStructFaultClientUtil implements SunClientUtil {
public SOAPEnvelope getEchoSoapEnvelope() {
SOAPFactory fac = OMAbstractFactory.getSOAP11Factory();
SOAPEnvelope reqEnv = fac.getDefaultEnvelope();
OMNamespace omNs = reqEnv.declareNamespace("http://soapinterop.org/wsdl", "m");
OMNamespace typeNs = reqEnv.declareNamespace("http://www.w3.org/2001/XMLSchema-instance", "xsi");
reqEnv.declareNamespace("http://schemas.xmlsoap.org/soap/encoding/", "SOAP-ENC");
reqEnv.declareNamespace("http://www.w3.org/2001/XMLSchema", "xsd");
reqEnv.declareNamespace("http://soapinterop.org/types", "m0");
OMElement method = fac.createOMElement("echoSOAPStructFault", omNs);
OMNamespace soapEnvNs = method.declareNamespace("http://schemas.xmlsoap.org/soap/envelope/", "SOAP-ENV");
method.addAttribute("encodingStyle", "http://schemas.xmlsoap.org/soap/encoding/", soapEnvNs);
reqEnv.getBody().addChild(method);
OMElement param = fac.createOMElement("param", null);
OMElement sstruct = fac.createOMElement("soapStruct", null);
OMElement vstring = fac.createOMElement("varString", null);
OMElement vint = fac.createOMElement("varInt", null);
OMElement vfloat = fac.createOMElement("varFloat", null);
param.declareNamespace(typeNs);
sstruct.declareNamespace(typeNs);
vstring.declareNamespace(typeNs);
vint.declareNamespace(typeNs);
vfloat.declareNamespace(typeNs);
param.addAttribute("type", "m0:SOAPStructFault", typeNs);
sstruct.addAttribute("type", "m0:SOAPStruct", typeNs);
vstring.addAttribute("type", "xsd:string", typeNs);
vint.addAttribute("type", "xsd:int", typeNs);
vfloat.addAttribute("type", "xsd:float", typeNs);
vstring.addChild(fac.createOMText(vstring, "String"));
vint.addChild(fac.createOMText(vint, "0"));
vfloat.addChild(fac.createOMText(vfloat, "3.14159E0"));
sstruct.addChild(vstring);
sstruct.addChild(vint);
sstruct.addChild(vfloat);
param.addChild(sstruct);
method.addChild(param);
return reqEnv;
}
}