cvs commit: ws-wsif/java/src/org/apache/wsif/providers/java WSIFOperation_Java.java
[email protected] 15 May 2005 07:34:40 -0000
| Newsgroups | gmane.comp.apache.webservices.wsif.devel |
|---|---|
| Message-ID | <[email protected]> |
aslom 2005/05/15 00:34:40
Modified: java/samples/clients/stockquote Main.java
java/samples/localjava/client/dynamic Run.java
java/src/org/apache/wsif/base WSIFServiceImpl.java
java/src/org/apache/wsif/providers/java
WSIFOperation_Java.java
Log:
minor modiffs (sync)
Revision Changes Path
1.7 +22 -21 ws-wsif/java/samples/clients/stockquote/Main.java
Index: Main.java
===================================================================
RCS file: /home/cvs/ws-wsif/java/samples/clients/stockquote/Main.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- Main.java 1 Mar 2004 23:53:11 -0000 1.6
+++ Main.java 15 May 2005 07:34:40 -0000 1.7
@@ -1,12 +1,12 @@
/*
* Copyright 2002-2004 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.
@@ -45,14 +45,14 @@
* @author Michael Beisiegel
*/
public class Main {
-
+
private static void doit(StockquotePT service) throws Exception {
String name1 = "IBM";
System.err.println(">> Getting quote for '" + name1 + "'");
float quote = service.getQuote(name1);
System.err.println(">> Received quote: " + quote);
}
-
+
private static void usage() {
System.err.println(
"Usage: java "
@@ -60,42 +60,42 @@
+ " portName wsdlLocation [soap|axis]");
System.exit(1);
}
-
+
public static void main(String[] args) throws Exception {
if (args.length > 3)
usage();
-
+
String protocol = null;
String portName = args.length > 0 ? args[0] : null;
if (args.length == 1 && (portName.equals("soap") || portName.equals("axis"))) {
protocol = portName;
portName = null;
}
-
+
String wsdlLocation = args.length > 1 ? args[1] : null;
if (args.length == 2
- && (wsdlLocation.equals("soap") || wsdlLocation.equals("axis"))) {
+ && (wsdlLocation.equals("soap") || wsdlLocation.equals("axis"))) {
protocol = wsdlLocation;
wsdlLocation = null;
}
-
+
protocol = args.length == 3 ? args[2] : "";
if (!protocol.equals("")
- && !protocol.equals("soap")
- && !protocol.equals("axis"))
+ && !protocol.equals("soap")
+ && !protocol.equals("axis"))
usage();
-
+
if (protocol.equals("axis"))
WSIFPluggableProviders.overrideDefaultProvider(
"http://schemas.xmlsoap.org/wsdl/soap/",
new WSIFDynamicProvider_ApacheAxis());
-
+
WSIFServiceFactory factory = WSIFServiceFactory.newInstance();
- WSIFService service = factory.getService(wsdlLocation, null, // serviceNS
- null, // serviceName
- "http://wsifservice.stockquote/", // portTypeNS
- "StockquotePT"); // portTypeName
-
+ WSIFService service = factory.getService(wsdlLocation, null, // serviceNS
+ null, // serviceName
+ "http://wsifservice.stockquote/", // portTypeNS
+ "StockquotePT"); // portTypeName
+
StockquotePT stub = null;
if (portName != null) {
System.err.println("\n\nUsing '" + portName + "' port:");
@@ -105,12 +105,12 @@
System.err.println("\n\nUsing SOAP port:");
stub = (StockquotePT) service.getStub("SOAPPort", StockquotePT.class);
doit(stub);
-
+
System.err.println("\n\nUsing Java port:");
stub = (StockquotePT) service.getStub("JavaPort", StockquotePT.class);
doit(stub);
}
-
+
if (protocol.equals("axis")) { // reset to default provider
WSIFPluggableProviders.overrideDefaultProvider(
"http://schemas.xmlsoap.org/wsdl/soap/",
@@ -118,3 +118,4 @@
}
}
}
+
1.4 +3 -2 ws-wsif/java/samples/localjava/client/dynamic/Run.java
Index: Run.java
===================================================================
RCS file: /home/cvs/ws-wsif/java/samples/localjava/client/dynamic/Run.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Run.java 13 Dec 2002 23:00:28 -0000 1.3
+++ Run.java 15 May 2005 07:34:40 -0000 1.4
@@ -17,8 +17,8 @@
private static void addFirstAddress(WSIFPort port) {
try {
// create the operation
- // note that we have two operations with the same name,
- // so we need to specify the name of the input and output
+ // note that we have two operations with the same name,
+ // so we need to specify the name of the input and output
// messages as well
WSIFOperation operation =
port.createOperation(
@@ -223,3 +223,4 @@
queryAddresses(port);
}
}
+
1.43 +1 -1 ws-wsif/java/src/org/apache/wsif/base/WSIFServiceImpl.java
Index: WSIFServiceImpl.java
===================================================================
RCS file: /home/cvs/ws-wsif/java/src/org/apache/wsif/base/WSIFServiceImpl.java,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -r1.42 -r1.43
--- WSIFServiceImpl.java 7 Aug 2004 06:20:49 -0000 1.42
+++ WSIFServiceImpl.java 15 May 2005 07:34:40 -0000 1.43
@@ -554,7 +554,7 @@
port = (Port) availablePorts.values().iterator().next();
}
if (port == null) {
- throw new WSIFException("Unable to find an available port");
+ throw new WSIFException("Unable to find an available port (no ports declared?)");
}
} else {
port = (Port) availablePorts.get(portName);
1.46 +375 -375 ws-wsif/java/src/org/apache/wsif/providers/java/WSIFOperation_Java.java
Index: WSIFOperation_Java.java
===================================================================
RCS file: /home/cvs/ws-wsif/java/src/org/apache/wsif/providers/java/WSIFOperation_Java.java,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -r1.45 -r1.46
--- WSIFOperation_Java.java 1 Mar 2004 23:53:16 -0000 1.45
+++ WSIFOperation_Java.java 15 May 2005 07:34:40 -0000 1.46
@@ -1,12 +1,12 @@
/*
* Copyright 2002-2004 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.
@@ -62,18 +62,18 @@
import org.apache.wsif.wsdl.extensions.java.JavaOperation;
/**
- * Java operation.
+ * Java operation.
* @see WSIFPort_Java
* @author <a href="mailto:[email protected]">Gerhard Pfau</a>
* @author Owen Burroughs <[email protected]>
* @author Jeremy Hughes <[email protected]>
*/
public class WSIFOperation_Java
- extends WSIFDefaultOperation
- implements WSIFOperation {
-
+ extends WSIFDefaultOperation
+ implements WSIFOperation {
+
private static final long serialVersionUID = 1L;
-
+
protected javax.wsdl.Port fieldPortModel;
protected WSIFPort_Java fieldPort;
protected javax.wsdl.BindingOperation fieldBindingOperationModel;
@@ -91,20 +91,20 @@
protected Map fieldTypeMaps = null;
protected boolean multiOutParts = false;
transient private Object returnClass = null;
-
+
private class FaultMessageInfo {
String fieldMessageName;
String fieldPartName;
String fieldFormatType;
// Note: In Java fault messages contain only one part: the Java exception
-
+
FaultMessageInfo(String messageName, String partName, String formatType) {
fieldMessageName = messageName;
fieldPartName = partName;
fieldFormatType = formatType;
}
}
-
+
public WSIFOperation_Java(
javax.wsdl.Port portModel,
BindingOperation bindingOperationModel,
@@ -112,7 +112,7 @@
Map typeMaps)
throws WSIFException {
Trc.entry(this, portModel, bindingOperationModel, port, typeMaps);
-
+
fieldPortModel = portModel;
fieldBindingOperationModel = bindingOperationModel;
fieldPort = port;
@@ -120,35 +120,35 @@
// Find out all the methods on the Java class that is the backend service.
Method[] allMethods = fieldPort.getServiceObjectMethods();
-
+
try {
fieldJavaOperationModel =
(JavaOperation) fieldBindingOperationModel.getExtensibilityElements().get(0);
} catch (Exception e) {
- Trc.exception(e);
+ Trc.exception(e);
throw new WSIFException(
"Unable to resolve Java binding for operation '"
+ bindingOperationModel.getName()
+ "'");
}
-
+
// Check what kind of method we have...
String methodType = fieldJavaOperationModel.getMethodType();
if ("static".equals(methodType)) {
- fieldIsStatic = true;
+ fieldIsStatic = true;
fieldMethods = getMethods(allMethods);
} else if ("constructor".equals(methodType)) {
- fieldIsConstructor = true;
+ fieldIsConstructor = true;
fieldConstructors = getConstructors();
} else {
- // Assume instance method...
+ // Assume instance method...
fieldMethods = getMethods(allMethods);
}
-
+
if (Trc.ON)
Trc.exit(deep());
}
-
+
private WSIFOperation_Java(
Port p,
WSIFPort_Java pj,
@@ -180,8 +180,8 @@
new Boolean(isSttc),
new Boolean(isCnstr),
tMap);
- Trc.event(this, "mulOP was " + mulOP + ", retCl was " + retCl);
-
+ Trc.event(this, "mulOP was " + mulOP + ", retCl was " + retCl);
+
fieldPortModel = p;
fieldPort = pj;
fieldBindingOperationModel = bo;
@@ -197,7 +197,7 @@
fieldTypeMaps = tMap;
multiOutParts = mulOP;
returnClass = retCl;
-
+
if (Trc.ON)
Trc.exit(deep());
}
@@ -210,37 +210,37 @@
Trc.entry(this);
WSIFOperation_Java woj =
new WSIFOperation_Java(
- fieldPortModel,
- fieldPort,
- fieldBindingOperationModel,
- fieldJavaOperationModel,
- fieldInParameterNames,
- fieldOutParameterNames,
- fieldFaultMessageInfos,
- fieldMethods,
- fieldConstructors,
- fieldOutputMessageName,
- fieldIsStatic,
- fieldIsConstructor,
- fieldTypeMaps,
- multiOutParts,
- returnClass);
+ fieldPortModel,
+ fieldPort,
+ fieldBindingOperationModel,
+ fieldJavaOperationModel,
+ fieldInParameterNames,
+ fieldOutParameterNames,
+ fieldFaultMessageInfos,
+ fieldMethods,
+ fieldConstructors,
+ fieldOutputMessageName,
+ fieldIsStatic,
+ fieldIsConstructor,
+ fieldTypeMaps,
+ multiOutParts,
+ returnClass);
woj.wsdlOperation = wsdlOperation;
Trc.exit(woj);
return woj;
}
-
+
protected static Class getClassForName(String classname) throws WSIFException {
- Trc.entry(null,classname);
-
+ Trc.entry(null,classname);
+
Class cls = null;
-
+
if (classname == null) {
throw new WSIFException("Error in getClassForName(): No class name specified!");
}
-
+
try {
if (classname.lastIndexOf('.') == -1) {
// Have to check for built in data types
@@ -270,13 +270,13 @@
Class.forName(classname, true, Thread.currentThread().getContextClassLoader());
}
} catch (ClassNotFoundException ex) {
- Trc.exception(ex);
+ Trc.exception(ex);
throw new WSIFException("Could not instantiate class '" + classname + "'", ex);
}
Trc.exit(cls);
return cls;
}
-
+
protected Constructor[] getConstructors()
throws WSIFException {
Trc.entry(this);
@@ -289,7 +289,7 @@
Class[] params = constructors[i].getParameterTypes();
if (params.length != args.length)
continue;
-
+
boolean match = true;
for (int j = 0; j < params.length; j++) {
Object obj = args[j];
@@ -312,7 +312,7 @@
}
} else {
if (!(((Class) obj).getName().equals(params[j].getName()))
- && !(params[j].isAssignableFrom((Class) obj))) {
+ && !(params[j].isAssignableFrom((Class) obj))) {
match = false;
break;
}
@@ -329,34 +329,34 @@
Trc.exit(candidates);
return candidates;
}
-
+
protected Map getFaultMessageInfos() throws WSIFException {
- Trc.entry(this);
+ Trc.entry(this);
// Get the current operation
Operation operation = null;
try {
operation = getOperation();
} catch (Exception e) {
- Trc.exception(e);
+ Trc.exception(e);
throw new WSIFException("Failed to get Operation", e);
}
-
+
if (fieldFaultMessageInfos == null) {
fieldFaultMessageInfos = new HashMap();
}
-
+
BindingFault bindingFaultModel = null;
Map bindingFaultModels = fieldBindingOperationModel.getBindingFaults();
List parts = null;
Iterator modelsIterator = bindingFaultModels.values().iterator();
-
+
while (modelsIterator.hasNext()) {
bindingFaultModel = (BindingFault) modelsIterator.next();
String name = bindingFaultModel.getName();
if (name == null) {
throw new WSIFException("Fault name not found in binding");
}
-
+
Map map = operation.getFault(name).getMessage().getParts();
if (map.size() >= 1) {
Part part = (Part) map.values().iterator().next();
@@ -367,7 +367,7 @@
throw new WSIFException(
"formatType for typeName '" + part.getName() + "' not found in document");
}
-
+
if (formatType instanceof Vector) {
Vector types = (Vector) formatType;
Enumeration enum = types.elements();
@@ -390,7 +390,7 @@
Trc.exit(fieldFaultMessageInfos);
return fieldFaultMessageInfos;
}
-
+
/**
* Of all the methods on the Java class that is the backend service,
* getMethods finds those that match this operation in the WSDL.
@@ -400,12 +400,12 @@
protected Method[] getMethods(Method[] allMethods) throws WSIFException {
try {
Trc.entry(this, allMethods);
-
+
ArrayList candidates = new ArrayList();
-
+
if (!fieldIsConstructor) {
-
- // Java methods start with a lower case but WSDL uses either case
+
+ // Java methods start with a lower case but WSDL uses either case
String bindingMethodName =
fieldJavaOperationModel.getMethodName();
String bindingMethodName2 = null;
@@ -414,22 +414,22 @@
sb.setCharAt(0, Character.toLowerCase(sb.charAt(0)));
bindingMethodName2 = sb.toString();
}
-
+
Object[] args = getMethodArgumentClasses();
Object retClass = getMethodReturnClass();
-
+
for (int i = 0; i < allMethods.length; i++) {
String methodName = allMethods[i].getName();
if (!(methodName.equals(bindingMethodName)
- || methodName.equals(bindingMethodName2))) {
+ || methodName.equals(bindingMethodName2))) {
continue;
}
-
+
Class[] params = allMethods[i].getParameterTypes();
if (params.length != args.length)
continue;
Class retType = allMethods[i].getReturnType();
-
+
boolean tryAMap = false;
if (multiOutParts) {
Class mapClass = java.util.Map.class;
@@ -459,15 +459,15 @@
} else {
if (retType != null && retClass != null) {
if (!(((Class) retClass)
- .getName()
- .equals(retType.getName()))
- && !(((Class) retClass)
- .isAssignableFrom(retType)))
+ .getName()
+ .equals(retType.getName()))
+ && !(((Class) retClass)
+ .isAssignableFrom(retType)))
continue;
}
}
}
-
+
boolean match = true;
for (int j = 0; j < params.length; j++) {
Object obj = args[j];
@@ -490,9 +490,9 @@
}
} else {
if (!(((Class) obj)
- .getName()
- .equals(params[j].getName()))
- && !(params[j].isAssignableFrom((Class) obj))) {
+ .getName()
+ .equals(params[j].getName()))
+ && !(params[j].isAssignableFrom((Class) obj))) {
match = false;
break;
}
@@ -503,7 +503,7 @@
}
}
}
-
+
Method[] methods =
(Method[]) candidates.toArray(new Method[candidates.size()]);
Trc.exit(methods);
@@ -518,51 +518,51 @@
}
}
}
-
+
protected Operation getOperation() throws Exception {
- Trc.entry(this);
-
+ Trc.entry(this);
+
if (wsdlOperation == null) {
-
+
// <input> and <output> tags in binding operations are not mandatory
// so deal with null BindingInputs or BindingOutputs
String inputName = null;
if (fieldBindingOperationModel.getBindingInput()!=null) {
inputName = fieldBindingOperationModel.getBindingInput().getName();
}
-
+
String outputName = null;
if (fieldBindingOperationModel.getBindingOutput()!=null) {
outputName = fieldBindingOperationModel.getBindingOutput().getName();
}
-
+
// Build the parts list
//this.fieldBindingOperationModel.getBindingInput().getName(),
wsdlOperation =
this.fieldPortModel.getBinding().getPortType().getOperation(
- this.fieldBindingOperationModel.getName(),
- inputName,
- outputName);
+ this.fieldBindingOperationModel.getName(),
+ inputName,
+ outputName);
}
-
+
Trc.exit(wsdlOperation);
return wsdlOperation;
}
-
+
protected Object getMethodReturnClass() throws WSIFException {
- Trc.entry(this);
+ Trc.entry(this);
Object methodReturnClass = null;
try {
String returnPartString = fieldJavaOperationModel.getReturnPart();
List parameterOrder = fieldJavaOperationModel.getParameterOrder();
-
- // Service with multiple output parts
+
+ // Service with multiple output parts
if (fieldOutParameterNames.length > 1) {
- multiOutParts = true;
+ multiOutParts = true;
for (int p = 0; p < fieldOutParameterNames.length; p++) {
String pName = fieldOutParameterNames[p];
if (pName != null
- && parameterOrder.contains(pName)) {
+ && parameterOrder.contains(pName)) {
multiOutParts = false;
}
}
@@ -573,10 +573,10 @@
// return type
Part returnPart =
getOperation().getOutput().getMessage().getPart(returnPartString);
-
+
// If there is no returnPart specified then not interested in return value
if (returnPart != null) {
- QName partType = returnPart.getTypeName();
+ QName partType = returnPart.getTypeName();
if (partType == null) partType = returnPart.getElementName();
Object obj = this.fieldTypeMaps.get(partType);
if (obj == null)
@@ -584,9 +584,9 @@
"Could not map type "
+ partType
+ " to a java type. Part name was "
- + returnPart.getName() == null
- ? "<null>" : returnPart.getName());
-
+ + returnPart.getName() == null
+ ? "<null>" : returnPart.getName());
+
if (obj instanceof Vector) {
Vector v = (Vector) obj;
Vector argv = new Vector();
@@ -609,7 +609,7 @@
}
// returnPart attribute was not present so return methodReturnClass as default null
} catch (Exception ex) {
- Trc.exception(ex);
+ Trc.exception(ex);
throw new WSIFException(
"Error while determining return class of method "
+ fieldJavaOperationModel.getMethodName()
@@ -620,38 +620,38 @@
Trc.exit(methodReturnClass);
return methodReturnClass;
}
-
+
protected Object[] getMethodArgumentClasses() throws WSIFException {
- Trc.entry(this);
+ Trc.entry(this);
Object[] methodArgClasses = null;
try {
-
+
Operation operation = getOperation();
-
+
/*
- The order of the parameters as passed to the Java method is
- determined in this way:
- 1. from the <wsdl:operation parameterOrder="xxx yyy"> attribute if present
- 2. from the <java:operation parameterOrder="xxx yyy"> attribute if present
- 3. from the order the parts are specified in the input message
- */
-
+ The order of the parameters as passed to the Java method is
+ determined in this way:
+ 1. from the <wsdl:operation parameterOrder="xxx yyy"> attribute if present
+ 2. from the <java:operation parameterOrder="xxx yyy"> attribute if present
+ 3. from the order the parts are specified in the input message
+ */
+
// Get the parameter order according to the above rules
List parameterOrder = null;
-
+
parameterOrder = fieldJavaOperationModel.getParameterOrder();
-
+
if (parameterOrder == null) {
parameterOrder = operation.getParameterOrdering();
}
-
+
/*
- The MessageImpl actually the order the parts were added in a List, but
- this can only be accessed via the getOrderedParts() methods which
- of course returns a List of Parts!
- So here I (rather inefficiently) convert the list of parts to a list of
- string part names.
- */
+ The MessageImpl actually the order the parts were added in a List, but
+ this can only be accessed via the getOrderedParts() methods which
+ of course returns a List of Parts!
+ So here I (rather inefficiently) convert the list of parts to a list of
+ string part names.
+ */
if (parameterOrder == null) {
List partList = operation.getInput().getMessage().getOrderedParts(null);
parameterOrder = new Vector();
@@ -661,30 +661,30 @@
parameterOrder.add(part.getName());
}
}
-
+
/*
- Operations do not specify whether they are to be used with RPC-like bindings
- or not. However, when using an operation with an RPC-binding, it is useful to
- be able to capture the original RPC function signature. For this reason,
- a request-response or solicit-response operation MAY specify a list of parameter
- names via the parameterOrder attribute (of type nmtokens). The value of the
- attribute is a list of message part names separated by a single space.
- The value of the parameterOrder attribute MUST follow the following rules:
-
- * The part name order reflects the order of the parameters in the RPC signature
- * The return value part is not present in the list
- * If a part name appears in both the input and output message, it is an in/out parameter
- * If a part name appears in only the input message, it is an in parameter
- * If a part name appears in only the output message, it is an out parameter
-
- Note that this information serves as a "hint" and may safely be ignored by
- those not concerned with RPC signatures. Also, it is not required to be present,
- even if the operation is to be used with an RPC-like binding.
- */
-
+ Operations do not specify whether they are to be used with RPC-like bindings
+ or not. However, when using an operation with an RPC-binding, it is useful to
+ be able to capture the original RPC function signature. For this reason,
+ a request-response or solicit-response operation MAY specify a list of parameter
+ names via the parameterOrder attribute (of type nmtokens). The value of the
+ attribute is a list of message part names separated by a single space.
+ The value of the parameterOrder attribute MUST follow the following rules:
+
+ * The part name order reflects the order of the parameters in the RPC signature
+ * The return value part is not present in the list
+ * If a part name appears in both the input and output message, it is an in/out parameter
+ * If a part name appears in only the input message, it is an in parameter
+ * If a part name appears in only the output message, it is an out parameter
+
+ Note that this information serves as a "hint" and may safely be ignored by
+ those not concerned with RPC signatures. Also, it is not required to be present,
+ even if the operation is to be used with an RPC-like binding.
+ */
+
ArrayList argNames = new ArrayList();
ArrayList argTypes = new ArrayList();
-
+
Iterator parameterIterator = parameterOrder.iterator();
while (parameterIterator.hasNext()) {
String param = (String) parameterIterator.next();
@@ -698,10 +698,10 @@
+ param
+ "' from parameterOrder not found in input or output message");
argNames.add((String) part.getName());
-
+
// should also check for the element
QName partType = part.getTypeName();;
- if (partType == null) partType = part.getElementName();
+ if (partType == null) partType = part.getElementName();
Object obj = this.fieldTypeMaps.get(partType);
if (obj == null)
throw new WSIFException(
@@ -722,43 +722,43 @@
} else {
argTypes.add(getClassForName((String)obj));
}
-
+
}
-
+
methodArgClasses = argTypes.toArray();
fieldInParameterNames = new String[argNames.size()];
for (int i = 0; i < argNames.size(); i++) {
fieldInParameterNames[i] = (String) argNames.get(i);
}
-
+
// Deal with output parts if operation is Request-Response
if (operation.getStyle().equals(OperationType.REQUEST_RESPONSE)) {
argNames = new ArrayList();
// Get the returnPart attribute if it exists
- String returnPart = fieldJavaOperationModel.getReturnPart();
+ String returnPart = fieldJavaOperationModel.getReturnPart();
Iterator outputPartsIterator =
operation.getOutput().getMessage().getOrderedParts(null).iterator();
while (outputPartsIterator.hasNext()) {
Part part = (Part) outputPartsIterator.next();
String partName = part.getName();
if (partName != null && returnPart != null && partName.equals(returnPart)) {
- // Put return part first in the list of output parts
- argNames.add(0, partName);
- } else {
+ // Put return part first in the list of output parts
+ argNames.add(0, partName);
+ } else {
argNames.add((String) part.getName());
}
- }
-
+ }
+
// Populate an array of output message part names
- fieldOutParameterNames = new String[argNames.size()];
+ fieldOutParameterNames = new String[argNames.size()];
for (int i = 0; i < argNames.size(); i++) {
fieldOutParameterNames[i] = (String) argNames.get(i);
}
} else {
- fieldOutParameterNames = new String[0];
+ fieldOutParameterNames = new String[0];
}
} catch (Exception ex) {
- Trc.exception(ex);
+ Trc.exception(ex);
throw new WSIFException(
"Error while determining signature of method "
+ fieldJavaOperationModel.getMethodName()
@@ -768,12 +768,12 @@
Trc.exit(methodArgClasses);
return methodArgClasses;
}
-
+
// Turns an array of arguments into a form compatible with a method
// If they are compatible, the object array is populated
// otherwise returns null
protected Object[] getCompatibleArguments(Class[] parmTypes, Object[] args) {
- Trc.entry(this,parmTypes,args);
+ Trc.entry(this,parmTypes,args);
// Go through each argument checking it's compatability with the method arg
// creating a compatible set along the way.
// In essence this just converts from String to Character when necessary
@@ -784,7 +784,7 @@
Object[] compatibleArgs = new Object[0];
return compatibleArgs;
}
-
+
Object[] compatibleArgs = new Object[args.length];
for (int i = 0; i < parmTypes.length; i++) {
// If the arg is a null then skip it
@@ -800,48 +800,48 @@
} else {
compatibleArgs[i] = convertedArg;
}
-
+
}
Trc.exit(compatibleArgs);
return compatibleArgs;
}
-
+
protected Object getCompatibleReturn(Method method, Object returnObj) {
- Trc.entry(this,method,returnObj);
- Object o = null;
- Class rt = method.getReturnType();
- Class ct = null;
- int dims = 0;
- if (rt.isArray()) {
- ct = rt.getComponentType();
- dims++;
- while (ct.isArray()) {
- ct = ct.getComponentType();
- dims++;
- }
- }
+ Trc.entry(this,method,returnObj);
+ Object o = null;
+ Class rt = method.getReturnType();
+ Class ct = null;
+ int dims = 0;
+ if (rt.isArray()) {
+ ct = rt.getComponentType();
+ dims++;
+ while (ct.isArray()) {
+ ct = ct.getComponentType();
+ dims++;
+ }
+ }
if (returnObj instanceof java.lang.Character) {
o = getCompatibleObject(java.lang.String.class, returnObj);
} else if (ct != null && (ct.equals(java.lang.Character.class) || ct.equals(char.class))) {
- String stringArrayClassName = "[Ljava.lang.String;";
- for (int d=1; d<dims; d++) {
- stringArrayClassName = "["+stringArrayClassName;
- }
- try {
- Class stringArrayClass = Class.forName(stringArrayClassName, true, Thread.currentThread().getContextClassLoader());
- o = getCompatibleObject(stringArrayClass, returnObj);
- } catch(ClassNotFoundException cnf) {
- Trc.ignoredException(cnf);
- o = returnObj;
- }
+ String stringArrayClassName = "[Ljava.lang.String;";
+ for (int d=1; d<dims; d++) {
+ stringArrayClassName = "["+stringArrayClassName;
+ }
+ try {
+ Class stringArrayClass = Class.forName(stringArrayClassName, true, Thread.currentThread().getContextClassLoader());
+ o = getCompatibleObject(stringArrayClass, returnObj);
+ } catch(ClassNotFoundException cnf) {
+ Trc.ignoredException(cnf);
+ o = returnObj;
+ }
} else {
o = returnObj;
}
Trc.exit(o);
return o;
}
-
- // Usually cls1.isAssignableFrom(cls2) returning false means you can't cast
+
+ // Usually cls1.isAssignableFrom(cls2) returning false means you can't cast
// instance of cls1 to cls2. There are some special cases we need to cover ...
// String->Character and Character->String
// WSIFAttachmentPart->DataHandler and DataHandler->WSIFAttachmentPart
@@ -852,13 +852,13 @@
// Note: if you are adding other cases ensure you add both directions since the
// this conversion may be needed on method args AND returns
protected Object getCompatibleObject(Class cls, Object obj) {
- Trc.entry(this,cls,obj);
-
- if (cls.getName().equals(obj.getClass().getName())) return obj;
-
+ Trc.entry(this,cls,obj);
+
+ if (cls.getName().equals(obj.getClass().getName())) return obj;
+
// String -> Character
if ((cls.equals(java.lang.Character.class) || cls.equals(char.class))
- && obj.getClass().equals(java.lang.String.class)) {
+ && obj.getClass().equals(java.lang.String.class)) {
Character charArg = ProviderUtils.stringToCharacter((String) obj);
if (charArg == null) {
// Can't convert this string to character so return null
@@ -871,70 +871,70 @@
// String arrays -> char/Character arrays and Character arrays -> String arrays
if (cls.isArray() && obj.getClass().isArray()) {
- Class cct = cls.getComponentType();
- Class objct = obj.getClass().getComponentType();
- while (cct.isArray()) {
- cct = cct.getComponentType();
- }
- while (objct.isArray()) {
- objct = objct.getComponentType();
- }
- if (objct.equals(java.lang.String.class) && cct.equals(char.class)) {
- try {
- Object charArray = ProviderUtils.stringArrayToCharArray(obj);
- Trc.exit(charArray);
- return charArray;
- } catch (Exception e) {
- Trc.ignoredException(e);
- Trc.exit(null);
- return null;
- }
- } else if (objct.equals(java.lang.String.class) && cct.equals(java.lang.Character.class)) {
- try {
- Object charArray = ProviderUtils.stringArrayToCharacterArray(obj);
- Trc.exit(charArray);
- return charArray;
- } catch (Exception e) {
- Trc.ignoredException(e);
- Trc.exit(null);
- return null;
- }
- } else if (objct.equals(java.lang.Character.class) && cct.equals(java.lang.String.class)) {
- try {
- Object charArray = ProviderUtils.characterArrayToStringArray(obj);
- Trc.exit(charArray);
- return charArray;
- } catch (Exception e) {
- Trc.ignoredException(e);
- Trc.exit(null);
- return null;
- }
- } else if (objct.equals(char.class) && cct.equals(java.lang.String.class)) {
- try {
- Object charArray = ProviderUtils.charArrayToStringArray(obj);
- Trc.exit(charArray);
- return charArray;
- } catch (Exception e) {
- Trc.ignoredException(e);
- Trc.exit(null);
- return null;
- }
- }
+ Class cct = cls.getComponentType();
+ Class objct = obj.getClass().getComponentType();
+ while (cct.isArray()) {
+ cct = cct.getComponentType();
+ }
+ while (objct.isArray()) {
+ objct = objct.getComponentType();
+ }
+ if (objct.equals(java.lang.String.class) && cct.equals(char.class)) {
+ try {
+ Object charArray = ProviderUtils.stringArrayToCharArray(obj);
+ Trc.exit(charArray);
+ return charArray;
+ } catch (Exception e) {
+ Trc.ignoredException(e);
+ Trc.exit(null);
+ return null;
+ }
+ } else if (objct.equals(java.lang.String.class) && cct.equals(java.lang.Character.class)) {
+ try {
+ Object charArray = ProviderUtils.stringArrayToCharacterArray(obj);
+ Trc.exit(charArray);
+ return charArray;
+ } catch (Exception e) {
+ Trc.ignoredException(e);
+ Trc.exit(null);
+ return null;
+ }
+ } else if (objct.equals(java.lang.Character.class) && cct.equals(java.lang.String.class)) {
+ try {
+ Object charArray = ProviderUtils.characterArrayToStringArray(obj);
+ Trc.exit(charArray);
+ return charArray;
+ } catch (Exception e) {
+ Trc.ignoredException(e);
+ Trc.exit(null);
+ return null;
+ }
+ } else if (objct.equals(char.class) && cct.equals(java.lang.String.class)) {
+ try {
+ Object charArray = ProviderUtils.charArrayToStringArray(obj);
+ Trc.exit(charArray);
+ return charArray;
+ } catch (Exception e) {
+ Trc.ignoredException(e);
+ Trc.exit(null);
+ return null;
+ }
+ }
}
if (cls.equals(java.lang.String.class)
- && obj.getClass().equals(java.lang.Character.class)) {
+ && obj.getClass().equals(java.lang.Character.class)) {
Trc.exit(obj.toString());
return (obj.toString());
}
if (cls.equals(WSIFAttachmentPart.class)
- && obj.getClass().getName().equals("javax.activation.DataHandler")) {
+ && obj.getClass().getName().equals("javax.activation.DataHandler")) {
obj = new WSIFAttachmentPart(obj);
}
-
+
if (cls.getName().equals("javax.activation.DataHandler")
- && obj.getClass().equals(WSIFAttachmentPart.class)) {
+ && obj.getClass().equals(WSIFAttachmentPart.class)) {
WSIFAttachmentPart wap = (WSIFAttachmentPart) obj;
obj = wap.getDataHandler();
}
@@ -942,9 +942,9 @@
Trc.exit(obj);
return obj;
}
-
+
protected String getOutputMessageName() throws WSIFException {
- Trc.entry(this);
+ Trc.entry(this);
if (fieldOutputMessageName == null) {
BindingOutput bindingOutputModel =
fieldBindingOperationModel.getBindingOutput();
@@ -955,7 +955,7 @@
Trc.exit(fieldOutputMessageName);
return fieldOutputMessageName;
}
-
+
public WSIFPort getWSIFPort() {
Trc.entry(this);
Trc.exit(fieldPort);
@@ -967,7 +967,7 @@
WSIFMessage output,
WSIFMessage fault)
throws WSIFException {
-
+
Trc.entry(this, input, output, fault);
close();
WSIFMessage ctxt = getContext();
@@ -975,11 +975,11 @@
InvocationHelper.setMessageContext(ctxt);
setContext(ctxt);
}
-
+
boolean operationSucceeded = true;
boolean usedOutputParam = false;
Method chosenMethod = null;
-
+
try {
Object result = null;
// Need to get the stuff here because this also initializes fieldInParameterNames
@@ -993,11 +993,11 @@
+ fieldJavaOperationModel.getMethodName()
+ "' found that match the parts specified");
}
-
+
Object[] arguments = null;
Object part = null;
if ((fieldInParameterNames != null)
- && (fieldInParameterNames.length > 0)) {
+ && (fieldInParameterNames.length > 0)) {
arguments = new Object[fieldInParameterNames.length];
for (int i = 0; i < fieldInParameterNames.length; i++) {
try {
@@ -1009,16 +1009,16 @@
if (fieldOutParameterNames.length > 0) {
String outParameterName = null;
for (int j = 0;
- j < fieldOutParameterNames.length;
- j++) {
+ j < fieldOutParameterNames.length;
+ j++) {
outParameterName = fieldOutParameterNames[j];
if ((outParameterName != null)
- && (outParameterName
- .equals(fieldInParameterNames[i]))) {
+ && (outParameterName
+ .equals(fieldInParameterNames[i]))) {
arguments[i] =
(fieldMethods[0]
- .getParameterTypes()[i])
- .newInstance();
+ .getParameterTypes()[i])
+ .newInstance();
usedOutputParam = true;
}
}
@@ -1026,7 +1026,7 @@
}
}
}
-
+
boolean invokedOK = false;
if (fieldIsConstructor) {
for (int a = 0; a < fieldConstructors.length; a++) {
@@ -1034,28 +1034,28 @@
// Get a set of arguments which are compatible with the ctor
Object[] compatibleArguments =
getCompatibleArguments(
- fieldConstructors[a].getParameterTypes(),
- arguments);
+ fieldConstructors[a].getParameterTypes(),
+ arguments);
// If we didn't get any arguments then the parts aren't compatible with the ctor
if (compatibleArguments == null)
break;
// Parts are compatible so invoke the ctor with the compatible set
-
+
Trc.event(
this,
"Invoking constructor ",
fieldConstructors[a],
" with arguments ",
compatibleArguments);
-
+
result =
fieldConstructors[a].newInstance(compatibleArguments);
-
+
Trc.event(
this,
"Returned from constructor, result is ",
result);
-
+
fieldPort.setObjectReference(result);
invokedOK = true;
break;
@@ -1072,20 +1072,20 @@
for (int a = 0; a < fieldMethods.length; a++) {
if (usedOutputParam) {
for (int i = 0;
- i < fieldInParameterNames.length;
- i++) {
+ i < fieldInParameterNames.length;
+ i++) {
String outParameterName = null;
for (int j = 0;
- j < fieldOutParameterNames.length;
- j++) {
+ j < fieldOutParameterNames.length;
+ j++) {
outParameterName =
fieldOutParameterNames[j];
if ((outParameterName != null)
- && (outParameterName
- .equals(fieldInParameterNames[i]))) {
+ && (outParameterName
+ .equals(fieldInParameterNames[i]))) {
arguments[i] =
(fieldMethods[a].getParameterTypes()[i])
- .newInstance();
+ .newInstance();
}
}
}
@@ -1094,28 +1094,28 @@
// Get a set of arguments which are compatible with the method
Object[] compatibleArguments =
getCompatibleArguments(
- fieldMethods[a].getParameterTypes(),
- arguments);
+ fieldMethods[a].getParameterTypes(),
+ arguments);
// If we didn't get any arguments then the parts aren't compatible with the method
if (compatibleArguments == null)
break;
// Parts are compatible so invoke the method with the compatible set
-
+
Trc.event(
this,
"Invoking method ",
fieldMethods[a],
" with arguments ",
compatibleArguments);
-
+
result =
fieldMethods[a].invoke(null, compatibleArguments);
-
+
Trc.event(
this,
"Returned from method, result is ",
result);
-
+
chosenMethod = fieldMethods[a];
invokedOK = true;
break;
@@ -1133,20 +1133,20 @@
for (int a = 0; a < fieldMethods.length; a++) {
if (usedOutputParam) {
for (int i = 0;
- i < fieldInParameterNames.length;
- i++) {
+ i < fieldInParameterNames.length;
+ i++) {
String outParameterName = null;
for (int j = 0;
- j < fieldOutParameterNames.length;
- j++) {
+ j < fieldOutParameterNames.length;
+ j++) {
outParameterName =
fieldOutParameterNames[j];
if ((outParameterName != null)
- && (outParameterName
- .equals(fieldInParameterNames[i]))) {
+ && (outParameterName
+ .equals(fieldInParameterNames[i]))) {
arguments[i] =
(fieldMethods[a].getParameterTypes()[i])
- .newInstance();
+ .newInstance();
}
}
}
@@ -1155,13 +1155,13 @@
// Get a set of arguments which are compatible with the method
Object[] compatibleArguments =
getCompatibleArguments(
- fieldMethods[a].getParameterTypes(),
- arguments);
+ fieldMethods[a].getParameterTypes(),
+ arguments);
// If we didn't get any arguments then the parts aren't compatible with the method
if (compatibleArguments == null)
break;
// Parts are compatible so invoke the method with the compatible set
-
+
Object objRef = fieldPort.getObjectReference();
Trc.event(
this,
@@ -1171,15 +1171,15 @@
fieldMethods[a],
" with arguments ",
compatibleArguments);
-
+
result =
fieldMethods[a].invoke(objRef, compatibleArguments);
-
+
Trc.event(
this,
"Returned from method, result is ",
result);
-
+
chosenMethod = fieldMethods[a];
invokedOK = true;
break;
@@ -1194,7 +1194,7 @@
+ fieldJavaOperationModel.getMethodName()
+ "'");
}
-
+
// Deal with the output message
String outParameterName = null;
if (fieldOutParameterNames.length == 1) {
@@ -1210,8 +1210,8 @@
} else if (fieldOutParameterNames.length > 1) {
if (multiOutParts) {
if (Map
- .class
- .isAssignableFrom(chosenMethod.getReturnType())) {
+ .class
+ .isAssignableFrom(chosenMethod.getReturnType())) {
// Method should have returned a Map
if (!(result instanceof Map)) {
throw new WSIFException(
@@ -1220,15 +1220,15 @@
+ " defined as returning multiple parts "
+ "and the Java method did not return an instance of java.util.Map");
}
-
+
Map returnedMap = (Map) result;
output.setName(getOutputMessageName());
-
+
// Get multiple output parts from the map
-
+
for (int p = 0;
- p < fieldOutParameterNames.length;
- p++) {
+ p < fieldOutParameterNames.length;
+ p++) {
String pName = fieldOutParameterNames[p];
if (returnedMap.containsKey(pName)) {
Object outPart = returnedMap.get(pName);
@@ -1264,9 +1264,9 @@
// message. If not, throw an exception to say the map
// does not contain the missing part.
if (returnClass != null
- && returnClass instanceof Class
- && Map.class.isAssignableFrom(
- (Class) returnClass)) {
+ && returnClass instanceof Class
+ && Map.class.isAssignableFrom(
+ (Class) returnClass)) {
Map m = new HashMap();
m.put(
fieldOutParameterNames[0],
@@ -1284,7 +1284,7 @@
+ "the Java service class");
}
}
-
+
} else {
// Backwards compatiblity - method returns just the output part specified
// by returnPart
@@ -1299,9 +1299,9 @@
}
} else {
// Method has returned one object and updated the references of
- // other objects passed into the method.
+ // other objects passed into the method.
output.setName(getOutputMessageName());
-
+
// Add the returned object to the output message
outParameterName = (String) fieldOutParameterNames[0];
if (outParameterName != null) {
@@ -1309,23 +1309,23 @@
outParameterName,
getCompatibleReturn(chosenMethod, result));
}
-
+
// Deal with objects whose reference has been updated by the Java
// service method. Parts for such objects will appear in the WSDL
- // output message and their names will also be included in the
+ // output message and their names will also be included in the
// parameterOrder attribute
if (arguments != null) {
for (int i = 1;
- i < fieldOutParameterNames.length;
- i++) {
+ i < fieldOutParameterNames.length;
+ i++) {
outParameterName = fieldOutParameterNames[i];
if (outParameterName != null) {
try {
for (int r = 0;
- r < fieldInParameterNames.length;
- r++) {
+ r < fieldInParameterNames.length;
+ r++) {
if (outParameterName
- .equals(fieldInParameterNames[r])) {
+ .equals(fieldInParameterNames[r])) {
output.setObjectPart(
outParameterName,
arguments[r]);
@@ -1350,7 +1350,7 @@
FaultMessageInfo faultMessageInfo =
(FaultMessageInfo) faultMessageInfos.get(className);
if ((faultMessageInfo != null)
- && (faultMessageInfo.fieldPartName != null)) { // Found fault
+ && (faultMessageInfo.fieldPartName != null)) { // Found fault
Object faultPart = invocationFault;
// Should we use the class of the method signature here ?
fault.setObjectPart(faultMessageInfo.fieldPartName, faultPart);
@@ -1358,7 +1358,7 @@
if (faultMessageInfo.fieldMessageName != null) {
Fault wsdlFault =
fieldBindingOperationModel.getOperation().getFault(
- faultMessageInfo.fieldMessageName);
+ faultMessageInfo.fieldMessageName);
if (wsdlFault != null) {
fault.setMessageDefinition(wsdlFault.getMessage());
}
@@ -1375,9 +1375,9 @@
try {
tempClass =
Class.forName(
- faultMessageInfo.fieldFormatType,
- true,
- Thread.currentThread().getContextClassLoader());
+ faultMessageInfo.fieldFormatType,
+ true,
+ Thread.currentThread().getContextClassLoader());
if (tempClass.isAssignableFrom(invocationFaultClass)) {
found = true;
Object faultPart = invocationFault;
@@ -1389,9 +1389,9 @@
if (faultMessageInfo.fieldMessageName != null) {
Fault wsdlFault =
fieldBindingOperationModel
- .getOperation()
- .getFault(
- faultMessageInfo.fieldMessageName);
+ .getOperation()
+ .getFault(
+ faultMessageInfo.fieldMessageName);
if (wsdlFault != null) {
fault.setMessageDefinition(
wsdlFault.getMessage());
@@ -1411,13 +1411,13 @@
}
} catch (Exception ex) {
Trc.exception(ex);
-
+
// Log message
MessageLogger.log(
"WSIF.0005E",
"Java",
fieldJavaOperationModel.getMethodName());
-
+
throw new WSIFException(
this
+ " : Could not invoke '"
@@ -1425,13 +1425,13 @@
+ "'",
ex);
}
-
+
Trc.exit(operationSucceeded);
return operationSucceeded;
}
-
+
public void executeInputOnlyOperation(WSIFMessage input) throws WSIFException {
-
+
Trc.entry(this, input);
close();
WSIFMessage ctxt = getContext();
@@ -1439,7 +1439,7 @@
InvocationHelper.setMessageContext(ctxt);
setContext(ctxt);
}
-
+
try {
Object result = null;
// Need to get the stuff here because this also initializes fieldInParameterNames
@@ -1449,27 +1449,27 @@
} else {
if (fieldMethods.length <= 0)
throw new WSIFException("No methods named '"
- + fieldJavaOperationModel.getMethodName()
- + "' found that match the parts specified");
+ + fieldJavaOperationModel.getMethodName()
+ + "' found that match the parts specified");
}
-
+
Object[] arguments = null;
Object part = null;
if ((fieldInParameterNames != null) && (fieldInParameterNames.length > 0)) {
arguments = new Object[fieldInParameterNames.length];
for (int i = 0; i < fieldInParameterNames.length; i++) {
- try {
+ try {
part = input.getObjectPart(fieldInParameterNames[i]);
arguments[i] = part;
} catch (WSIFException e) {
- Trc.exception(e);
+ Trc.exception(e);
arguments[i] = null;
}
}
}
-
+
boolean invokedOK = false;
-
+
if (fieldIsConstructor) {
for (int a = 0; a < fieldConstructors.length; a++) {
try {
@@ -1480,28 +1480,28 @@
if (compatibleArguments == null)
break;
// Parts are compatible so invoke the ctor with the compatible set
-
+
Trc.event(
this,
"Invoking constructor ",
fieldConstructors[a],
" with arguments ",
compatibleArguments);
-
+
result =
fieldConstructors[a].newInstance(
- compatibleArguments);
-
+ compatibleArguments);
+
Trc.event(
this,
"Returned from constructor, result is ",
result);
-
+
fieldPort.setObjectReference(result);
invokedOK = true;
break;
} catch (IllegalArgumentException ia) {
- Trc.ignoredException(ia);
+ Trc.ignoredException(ia);
// Ignore and try next constructor
}
}
@@ -1518,28 +1518,28 @@
if (compatibleArguments == null)
break;
// Parts are compatible so invoke the method with the compatible set
-
+
Trc.event(
this,
"Invoking method ",
fieldMethods[a],
" with arguments ",
compatibleArguments);
-
+
result =
fieldMethods[a].invoke(
- null,
- compatibleArguments);
-
+ null,
+ compatibleArguments);
+
Trc.event(
this,
"Returned from method, result is ",
result);
-
+
invokedOK = true;
break;
} catch (IllegalArgumentException ia) {
- Trc.ignoredException(ia);
+ Trc.ignoredException(ia);
// Ignore and try next method
}
}
@@ -1556,7 +1556,7 @@
if (compatibleArguments == null)
break;
// Parts are compatible so invoke the method with the compatible set
-
+
Object objRef = fieldPort.getObjectReference();
Trc.event(
this,
@@ -1566,21 +1566,21 @@
fieldMethods[a],
" with arguments ",
compatibleArguments);
-
+
result =
fieldMethods[a].invoke(
- objRef,
- compatibleArguments);
-
+ objRef,
+ compatibleArguments);
+
Trc.event(
this,
"Returned from method, result is ",
result);
-
+
invokedOK = true;
break;
} catch (IllegalArgumentException ia) {
- Trc.ignoredException(ia);
+ Trc.ignoredException(ia);
// Ignore and try next method
}
}
@@ -1591,13 +1591,13 @@
}
} catch (InvocationTargetException ex) {
Trc.exception(ex);
-
+
// Log message
MessageLogger.log(
"WSIF.0005E",
"Java",
fieldJavaOperationModel.getMethodName());
-
+
throw new WSIFException(
this
+ " : Invocation of '"
@@ -1606,13 +1606,13 @@
ex);
} catch (Exception ex) {
Trc.exception(ex);
-
+
// Log message
MessageLogger.log(
"WSIF.0005E",
"Java",
fieldJavaOperationModel.getMethodName());
-
+
throw new WSIFException(
this
+ " : Could not invoke '"
@@ -1620,7 +1620,7 @@
+ "'",
ex);
}
-
+
Trc.exit();
}
@@ -1632,10 +1632,10 @@
buff += " wsifPort_Java:" + fieldPort;
buff += " bindingOperationModel:" + Trc.brief(fieldBindingOperationModel);
buff += " JavaOperation:" + fieldJavaOperationModel;
-
+
buff += Trc.brief("inParameterNames", fieldInParameterNames);
- buff += Trc.brief("outParameterNames", fieldOutParameterNames);
-
+ buff += Trc.brief("outParameterNames", fieldOutParameterNames);
+
if (fieldFaultMessageInfos == null) {
buff += " faultMessageInfos:null";
} else {
@@ -1652,14 +1652,14 @@
i++;
}
}
-
- buff += Trc.brief("methods", fieldMethods);
- buff += Trc.brief("constructors", fieldConstructors);
-
+
+ buff += Trc.brief("methods", fieldMethods);
+ buff += Trc.brief("constructors", fieldConstructors);
+
buff += " outputMessageName:" + fieldOutputMessageName;
buff += " isStatic:" + fieldIsStatic;
buff += " isConstructor:" + fieldIsConstructor;
-
+
if (fieldTypeMaps == null) {
buff += " faultTypeMaps:null";
} else {
@@ -1674,20 +1674,20 @@
} catch (Exception e) {
Trc.exceptionInTrace(e);
}
-
+
return buff;
}
-
- /**
- * Override default serialization
- */
- private void writeObject(ObjectOutputStream oos) throws IOException {
+
+ /**
+ * Override default serialization
+ */
+ private void writeObject(ObjectOutputStream oos) throws IOException {
oos.defaultWriteObject();
}
-
- /**
- * Override default deserialization
- */
+
+ /**
+ * Override default deserialization
+ */
private void readObject(ObjectInputStream ois)
throws ClassNotFoundException, IOException {
ois.defaultReadObject();
@@ -1695,9 +1695,9 @@
// Re-establish all the Method information
Method[] allMethods = fieldPort.getServiceObjectMethods();
if (fieldIsConstructor) {
- fieldConstructors = getConstructors();
+ fieldConstructors = getConstructors();
} else {
fieldMethods = getMethods(allMethods);
}
- }
-}
\ No newline at end of file
+ }
+}