public class HttpMethodConverter
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected javax.wsdl.Binding |
binding |
protected javax.wsdl.Definition |
definition |
protected static Messages |
msgs |
protected java.lang.String |
portName |
protected javax.xml.namespace.QName |
serviceName |
Constructor and Description |
---|
HttpMethodConverter(javax.wsdl.Definition definition,
javax.xml.namespace.QName serviceName,
java.lang.String portName) |
Modifier and Type | Method and Description |
---|---|
org.apache.commons.httpclient.HttpMethod |
createHttpRequest(PartnerRoleMessageExchange odeMex,
org.apache.commons.httpclient.params.HttpParams params) |
org.apache.commons.httpclient.HttpMethod |
createHttpRequest(PartnerRoleMessageExchange odeMex,
org.apache.commons.httpclient.params.HttpParams params,
java.lang.String baseUrl) |
org.w3c.dom.Element |
createPartElement(javax.wsdl.Part part,
org.w3c.dom.Element receivedElement)
Create the element to be associated with this part into the
Message . |
org.w3c.dom.Element |
createPartElement(javax.wsdl.Part part,
java.lang.String textContent)
Create the element to be associated with this part into the
Message . |
void |
extractHttpResponseHeaders(Message odeMessage,
org.apache.commons.httpclient.HttpMethod method,
javax.wsdl.Operation operationDef)
Process the HTTP Response Headers.
|
protected java.util.Map<java.lang.String,org.w3c.dom.Element> |
extractPartElements(javax.wsdl.Message msgDef,
org.w3c.dom.Element message) |
java.lang.Object[] |
parseFault(PartnerRoleMessageExchange odeMex,
org.apache.commons.httpclient.HttpMethod method) |
void |
parseHttpResponse(Message odeResponse,
org.apache.commons.httpclient.HttpMethod method,
javax.wsdl.Operation opDef) |
protected org.apache.commons.httpclient.HttpMethod |
prepareHttpMethod(javax.wsdl.BindingOperation opBinding,
java.lang.String verb,
java.util.Map<java.lang.String,org.w3c.dom.Element> partValues,
java.util.Map<java.lang.String,org.w3c.dom.Node> headers,
java.lang.String rootUri,
org.apache.commons.httpclient.params.HttpParams params)
create and initialize the http method.
|
void |
setHttpRequestHeaders(org.apache.commons.httpclient.HttpMethod method,
javax.wsdl.BindingOperation opBinding,
java.util.Map<java.lang.String,org.w3c.dom.Element> partValues,
java.util.Map<java.lang.String,org.w3c.dom.Node> headers,
org.apache.commons.httpclient.params.HttpParams params)
First go through the list of default headers set in the method params.
|
protected static final Messages msgs
protected javax.wsdl.Definition definition
protected javax.wsdl.Binding binding
protected javax.xml.namespace.QName serviceName
protected java.lang.String portName
public HttpMethodConverter(javax.wsdl.Definition definition, javax.xml.namespace.QName serviceName, java.lang.String portName)
public org.apache.commons.httpclient.HttpMethod createHttpRequest(PartnerRoleMessageExchange odeMex, org.apache.commons.httpclient.params.HttpParams params) throws java.io.UnsupportedEncodingException
java.io.UnsupportedEncodingException
public org.apache.commons.httpclient.HttpMethod createHttpRequest(PartnerRoleMessageExchange odeMex, org.apache.commons.httpclient.params.HttpParams params, java.lang.String baseUrl) throws java.io.UnsupportedEncodingException
java.io.UnsupportedEncodingException
protected org.apache.commons.httpclient.HttpMethod prepareHttpMethod(javax.wsdl.BindingOperation opBinding, java.lang.String verb, java.util.Map<java.lang.String,org.w3c.dom.Element> partValues, java.util.Map<java.lang.String,org.w3c.dom.Node> headers, java.lang.String rootUri, org.apache.commons.httpclient.params.HttpParams params) throws java.io.UnsupportedEncodingException
java.io.UnsupportedEncodingException
public void setHttpRequestHeaders(org.apache.commons.httpclient.HttpMethod method, javax.wsdl.BindingOperation opBinding, java.util.Map<java.lang.String,org.w3c.dom.Element> partValues, java.util.Map<java.lang.String,org.w3c.dom.Node> headers, org.apache.commons.httpclient.params.HttpParams params)
org.apache.commons.httpclient.params.HostParams.DEFAULT_HEADERS
Then go through the list of message headers and set them if empty.
Finally go through the list of Namespaces.ODE_HTTP_EXTENSION_NS:header
elements included in the input binding.
For each of them, set the HTTP Request Header with the static value defined by the attribute Namespaces.ODE_HTTP_EXTENSION_NS:value
,
or the part value mentioned in the attribute Namespaces.ODE_HTTP_EXTENSION_NS:part
.
Finally, set the 'Accept' header if the output content type of the operation exists.
Notice that the last header value overrides any values set previoulsy. Meaning that message headers might get overriden by parts bound to headers.protected java.util.Map<java.lang.String,org.w3c.dom.Element> extractPartElements(javax.wsdl.Message msgDef, org.w3c.dom.Element message)
public org.w3c.dom.Element createPartElement(javax.wsdl.Part part, java.lang.String textContent)
Message
.
part
- textContent
- public org.w3c.dom.Element createPartElement(javax.wsdl.Part part, org.w3c.dom.Element receivedElement)
Message
.
If the part has a non-null element name, the bodyElement is simply appended.
Else if the bodyElement has a text content, the value is set to the message.
Else append all nodes of bodyElement to the returned element. Attributes are ignored.
The name of the returned element is the part name.part
- receivedElement
- public void extractHttpResponseHeaders(Message odeMessage, org.apache.commons.httpclient.HttpMethod method, javax.wsdl.Operation operationDef)
:header
elements included in the output binding.
For each of them, set the header value as the value of the message part.
Then add all HTTP headers as header part in the message. The name of the header would be the part name.
Finally, insert a header names 'Status-Line'. This header contains an element as returned by HttpHelper.statusLineToElement(String)
.odeMessage
- method
- operationDef
- public void parseHttpResponse(Message odeResponse, org.apache.commons.httpclient.HttpMethod method, javax.wsdl.Operation opDef) throws org.xml.sax.SAXException, java.io.IOException
org.xml.sax.SAXException
java.io.IOException
public java.lang.Object[] parseFault(PartnerRoleMessageExchange odeMex, org.apache.commons.httpclient.HttpMethod method)