|
What this is
Other links
The source code/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you 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 sample.google.search; import org.apache.axiom.om.OMAbstractFactory; import org.apache.axiom.om.OMElement; import org.apache.axiom.om.OMFactory; import org.apache.axiom.om.OMNamespace; import org.apache.axiom.soap.SOAPEnvelope; import org.apache.axiom.soap.SOAPFactory; import org.apache.axis2.AxisFault; import org.apache.axis2.context.MessageContext; /** * Builds the MessageContext as called by AsynchronousClient * First build the request soap envilope * then build a messageContext and soap envelope is attached to it */ public class ClientUtil { /** Soap request is included to this and pass it to sendMsg() in AsynchronousClient */ //static MessageContext msgContext; /** * method getMessageContext * * @return msgContext */ public static MessageContext getMessageContext( AsynchronousClient asyncClient) throws AxisFault { OMNamespace defNs; OMElement operation; MessageContext msgContext = null; String str_ST_index = Integer.toString(asyncClient.getStartIndex()); defNs = OMAbstractFactory.getSOAP11Factory().createOMNamespace("", ""); SOAPFactory omFactory = OMAbstractFactory.getSOAP11Factory(); SOAPEnvelope envelope = omFactory.getDefaultEnvelope(); envelope.declareNamespace("http://schemas.xmlsoap.org/soap/envelope/", "soapenv"); envelope.declareNamespace("http://schemas.xmlsoap.org/soap/encoding/", "SOAP-ENC"); envelope.declareNamespace("http://www.w3.org/2001/XMLSchema-instance", "xsi"); envelope.declareNamespace("http://www.w3.org/2001/XMLSchema", "xsd"); operation = omFactory.createOMElement("doGoogleSearch", "urn:GoogleSearch", "ns1"); envelope.getBody().addChild(operation); operation.addAttribute("soapenv:encordingStyle", "http://schemas.xmlsoap.org/soap/encoding/", null); operation.addChild( getOMElement(omFactory, defNs, "key", "xsd:string", asyncClient.getKey())); operation.addChild( getOMElement(omFactory, defNs, "q", "xsd:string", asyncClient.getSearch())); operation.addChild( getOMElement(omFactory, defNs, "start", "xsd:int", str_ST_index)); operation.addChild( getOMElement(omFactory, defNs, "maxResults", "xsd:int", asyncClient.getMaxResults())); operation.addChild( getOMElement(omFactory, defNs, "filter", "xsd:boolean", "true")); operation.addChild( getOMElement(omFactory, defNs, "restrict", "xsd:string", "")); operation.addChild( getOMElement(omFactory, defNs, "safeSearch", "xsd:boolean", "false")); operation.addChild( getOMElement(omFactory, defNs, "lr", "xsd:string", "")); operation.addChild( getOMElement(omFactory, defNs, "ie", "xsd:string", "latin1")); operation.addChild( getOMElement(omFactory, defNs, "oe", "xsd:string", "latin1")); msgContext = new MessageContext(); msgContext.setEnvelope(envelope); return msgContext; } private static OMElement getOMElement(OMFactory factory, OMNamespace ns, String elementName, String type, String text) { OMElement part = factory.createOMElement(elementName, ns); part.addAttribute("xsi:type", type, null); part.addChild(factory.createOMText(text)); return part; } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.