001: /* *****************************************************************************
002: * LZSOAPOperation.java
003: * ****************************************************************************/
004:
005: /* J_LZ_COPYRIGHT_BEGIN *******************************************************
006: * Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
007: * Use is subject to license terms. *
008: * J_LZ_COPYRIGHT_END *********************************************************/
009:
010: package org.openlaszlo.remote.json.soap;
011:
012: public class LZSOAPOperation {
013: /**
014: * Name of operation.
015: */
016: String mName;
017:
018: /**
019: * Mangled name of operation.
020: */
021: String mMangledName;
022:
023: /**
024: * From WSDL spec: For the HTTP protocol binding of SOAP, [soapAction] is
025: * value required (it has no default value).
026: */
027: String mSoapAction = null;
028:
029: /**
030: * For document styles. See
031: * http://www-106.ibm.com/developerworks/webservices/library/ws-whichwsdl:
032: *
033: * Characteristics of document/literal wrapped pattern:
034: *
035: * - The input message has a single part
036: * - The part is an element
037: * - The element has the same name as the operation
038: * - The element's complex type has no attributes.
039: *
040: */
041: boolean mIsDocumentLiteralWrapped = false;
042:
043: /**
044: * One of document or rpc.
045: */
046: String mStyle = "document";
047:
048: // Let's not worry about header parts just yet
049: // LZSOAPMessage mInputHeader = new LZSOAPMessage();
050: // LZSOAPMessage mOutputHeader = new LZSOAPMessage();
051:
052: LZSOAPMessage mInputMessage = null;
053: LZSOAPMessage mOutputMessage = null;
054:
055: public LZSOAPOperation(String name) {
056: mName = name;
057: mMangledName = name;
058: }
059:
060: public String getName() {
061: return mName;
062: }
063:
064: public String getMangledName() {
065: return mMangledName;
066: }
067:
068: public void setMangledName(String mangledName) {
069: mMangledName = mangledName;
070: }
071:
072: public void setStyle(String style) {
073: mStyle = style;
074: }
075:
076: public String getStyle() {
077: return mStyle;
078: }
079:
080: public void setSoapAction(String soapAction) {
081: mSoapAction = soapAction;
082: }
083:
084: public String getSoapAction() {
085: return mSoapAction;
086: }
087:
088: public void setIsDocumentLiteralWrapped(
089: boolean isDocumentLiteralWrapped) {
090: mIsDocumentLiteralWrapped = isDocumentLiteralWrapped;
091: }
092:
093: public boolean isDocumentLiteralWrapped() {
094: return mIsDocumentLiteralWrapped;
095: }
096:
097: public LZSOAPMessage getInputMessage() {
098: return mInputMessage;
099: }
100:
101: public LZSOAPMessage getOutputMessage() {
102: return mOutputMessage;
103: }
104:
105: public void setInputMessage(LZSOAPMessage inputMessage) {
106: mInputMessage = inputMessage;
107: }
108:
109: public void setOutputMessage(LZSOAPMessage outputMessage) {
110: mOutputMessage = outputMessage;
111: }
112:
113: public void toXML(StringBuffer sb) {
114: sb.append("<operation").append(" name=\"").append(mName)
115: .append("\"").append(" mangledName=\"").append(
116: mMangledName).append("\"").append(
117: " soapAction=\"").append(mSoapAction).append(
118: "\"").append(" style=\"").append(mStyle)
119: .append("\"").append(" is-document-literal-wrapped=\"")
120: .append(mIsDocumentLiteralWrapped).append("\"").append(
121: ">");
122: sb.append("<input>");
123: mInputMessage.toXML(sb);
124: sb.append("</input>");
125: sb.append("<output>");
126: mOutputMessage.toXML(sb);
127: sb.append("</output>");
128: sb.append("</operation>");
129: }
130: }
|