首先需要得到相应的
WSDL
,通过这些文件可以生成
WSDL
文件中定义的
Type
所对应的
Java
类,这些类有些类似于
Bean
,用于存储数据(如果知道
Type
在
WSDL
中的定义的话也可以手工完成相应类的定义,实现相应的方法即可)。使用
Apache
的包
org.apache.axis.wsdl
中的
WSDL2Java.java
将本例中的
3
个
WSDL
文件转化为
java
文件。
WSDL2Java.java
/**/
/*
* Copyright 2001-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.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.axis.wsdl;
import org.apache.axis.constants.Scope;
import org.apache.axis.utils.CLOption;
import org.apache.axis.utils.CLOptionDescriptor;
import org.apache.axis.utils.ClassUtils;
import org.apache.axis.utils.JavaUtils;
import org.apache.axis.utils.Messages;
import org.apache.axis.wsdl.gen.Parser;
import org.apache.axis.wsdl.gen.WSDL2;
import org.apache.axis.wsdl.toJava.Emitter;
import org.apache.axis.wsdl.toJava.NamespaceSelector;
/** */ /**
* Command line interface to the WSDL2Java utility
*/
public class WSDL2Java extends WSDL2 ... {
// Define our short one-letter option identifiers.
/** *//** Field SERVER_OPT */
protected static final int SERVER_OPT = 's';
/** *//** Field SKELETON_DEPLOY_OPT */
protected static final int SKELETON_DEPLOY_OPT = 'S';
/** *//** Field NAMESPACE_OPT */
protected static final int NAMESPACE_OPT = 'N';
/** *//** Field NAMESPACE_FILE_OPT */
protected static final int NAMESPACE_FILE_OPT = 'f';
/** *//** Field OUTPUT_OPT */
protected static final int OUTPUT_OPT = 'o';
/** *//** Field SCOPE_OPT */
protected static final int SCOPE_OPT = 'd';
/** *//** Field TEST_OPT */
protected static final int TEST_OPT = 't';
/** *//** Field BUILDFILE_OPT */
protected static final int BUILDFILE_OPT = 'B';
/** *//** Field PACKAGE_OPT */
protected static final int PACKAGE_OPT = 'p';
/** *//** Field ALL_OPT */
protected static final int ALL_OPT = 'a';
/** *//** Field TYPEMAPPING_OPT */
protected static final int TYPEMAPPING_OPT = 'T';
/** *//** Field FACTORY_CLASS_OPT */
protected static final int FACTORY_CLASS_OPT = 'F';
/** *//** Field HELPER_CLASS_OPT */
protected static final int HELPER_CLASS_OPT = 'H';
/** *//** Field USERNAME_OPT */
protected static final int USERNAME_OPT = 'U';
/** *//** Field PASSWORD_OPT */
protected static final int PASSWORD_OPT = 'P';
protected static final int CLASSPATH_OPT = 'X';
/** *//** Field bPackageOpt */
protected boolean bPackageOpt = false;
/** *//** Field namespace include */
protected static final int NS_INCLUDE_OPT = 'i';
/** *//** Filed namespace exclude */
protected static final int NS_EXCLUDE_OPT = 'x';
/** *//** Field IMPL_CLASS_OPT */
protected static final int IMPL_CLASS_OPT = 'c';
/** *//** Field ALLOW_INVALID_URL_OPT */
protected static final int ALLOW_INVALID_URL_OPT = 'u';
/** *//** Wrap arrays option */
protected static final int WRAP_ARRAYS_OPT = 'w';
/** *//** Field emitter */
private Emitter emitter;
/** *//**
* Define the understood options. Each CLOptionDescriptor contains:
* - The "long" version of the option. Eg, "help" means that "--help" will
* be recognised.
* - The option flags, governing the option's argument(s).
* - The "short" version of the option. Eg, 'h' means that "-h" will be
* recognised.
* - A description of the option for the usage message
*/
protected static final CLOptionDescriptor[] options =
new CLOptionDescriptor[]...{
new CLOptionDescriptor("server-side",
CLOptionDescriptor.ARGUMENT_DISALLOWED,
SERVER_OPT, Messages.getMessage("optionSkel00")),
new CLOptionDescriptor("skeletonDeploy",
CLOptionDescriptor.ARGUMENT_REQUIRED,
SKELETON_DEPLOY_OPT,
Messages.getMessage("optionSkeletonDeploy00")),
new CLOptionDescriptor("NStoPkg",
CLOptionDescriptor.DUPLICATES_ALLOWED
+ CLOptionDescriptor.ARGUMENTS_REQUIRED_2,
NAMESPACE_OPT,
Messages.getMessage("optionNStoPkg00")),
new CLOptionDescriptor("fileNStoPkg",
CLOptionDescriptor.ARGUMENT_REQUIRED,
NAMESPACE_FILE_OPT,
Messages.getMessage("optionFileNStoPkg00")),
new CLOptionDescriptor("package", CLOptionDescriptor.ARGUMENT_REQUIRED,
PACKAGE_OPT,
Messages.getMessage("optionPackage00")),
new CLOptionDescriptor("output", CLOptionDescriptor.ARGUMENT_REQUIRED,
OUTPUT_OPT,
Messages.getMessage("optionOutput00")),
new CLOptionDescriptor("deployScope",
CLOptionDescriptor.ARGUMENT_REQUIRED, SCOPE_OPT,
Messages.getMessage("optionScope00")),
new CLOptionDescriptor("testCase",
CLOptionDescriptor.ARGUMENT_DISALLOWED,
TEST_OPT, Messages.getMessage("optionTest00")),
new CLOptionDescriptor("all", CLOptionDescriptor.ARGUMENT_DISALLOWED,
ALL_OPT, Messages.getMessage("optionAll00")),
new CLOptionDescriptor("typeMappingVersion",
CLOptionDescriptor.ARGUMENT_REQUIRED,
TYPEMAPPING_OPT,
Messages.getMessage("optionTypeMapping00")),
new CLOptionDescriptor("factory", CLOptionDescriptor.ARGUMENT_REQUIRED,
FACTORY_CLASS_OPT,
Messages.getMessage("optionFactory00")),
new CLOptionDescriptor("helperGen",
CLOptionDescriptor.ARGUMENT_DISALLOWED,
HELPER_CLASS_OPT,
Messages.getMessage("optionHelper00")),
new CLOptionDescriptor("buildFile", CLOptionDescriptor.ARGUMENT_DISALLOWED,
BUILDFILE_OPT,
Messages.getMessage("optionBuildFile00")),
new CLOptionDescriptor("user", CLOptionDescriptor.ARGUMENT_REQUIRED,
USERNAME_OPT,
Messages.getMessage("optionUsername")),
new CLOptionDescriptor("password",
CLOptionDescriptor.ARGUMENT_REQUIRED,
PASSWORD_OPT,
Messages.getMessage("optionPassword")),
new CLOptionDescriptor("classpath",
CLOptionDescriptor.ARGUMENT_OPTIONAL,
CLASSPATH_OPT,
Messages.getMessage("optionClasspath")),
new CLOptionDescriptor("nsInclude",
CLOptionDescriptor.DUPLICATES_ALLOWED
+ CLOptionDescriptor.ARGUMENT_REQUIRED,
NS_INCLUDE_OPT,
Messages.getMessage("optionNSInclude")),
new CLOptionDescriptor("nsExclude",
CLOptionDescriptor.DUPLICATES_ALLOWED
+ CLOptionDescriptor.ARGUMENT_REQUIRED,
NS_EXCLUDE_OPT,
Messages.getMessage("optionNSExclude")),
new CLOptionDescriptor("implementationClassName",
CLOptionDescriptor.ARGUMENT_REQUIRED,
IMPL_CLASS_OPT,
Messages.getMessage("implementationClassName")),
new CLOptionDescriptor("allowInvalidURL", CLOptionDescriptor.ARGUMENT_DISALLOWED,
ALLOW_INVALID_URL_OPT, Messages.getMessage("optionAllowInvalidURL")),
new CLOptionDescriptor("wrapArrays",
CLOptionDescriptor.ARGUMENT_OPTIONAL,
WRAP_ARRAYS_OPT,
Messages.getMessage("optionWrapArrays")),
};
/** *//**
* Instantiate a WSDL2Java emitter.
*/
protected WSDL2Java() ...{
// emitter is the same as the parent's parser variable. Just cast it
// here once so we don't have to cast it every time we use it.
emitter = (Emitter) parser;
addOptions(options);
} // ctor
/** *//**
* Instantiate an extension of the Parser
*
* @return
*/
protected Parser createParser() ...{
return new Emitter();
} // createParser
/** *//**
* Parse an option
*
* @param option is the option
*/
protected void parseOption(CLOption option) ...{
switch (option.getId()) ...{
case FACTORY_CLASS_OPT:
emitter.setFactory(option.getArgument());
break;
case HELPER_CLASS_OPT:
emitter.setHelperWanted(true);
break;
case SKELETON_DEPLOY_OPT:
emitter.setSkeletonWanted(
JavaUtils.isTrueExplicitly(option.getArgument(0)));
// --skeletonDeploy assumes --server-side, so fall thru
case SERVER_OPT:
emitter.setServerSide(true);
break;
case NAMESPACE_OPT:
String namespace = option.getArgument(0);
String packageName = option.getArgument(1);
emitter.getNamespaceMap().put(namespace, packageName);
break;
case NAMESPACE_FILE_OPT:
emitter.setNStoPkg(option.getArgument());
break;
case PACKAGE_OPT:
bPackageOpt = true;
emitter.setPackageName(option.getArgument());
break;
case OUTPUT_OPT:
emitter.setOutputDir(option.getArgument());
break;
case SCOPE_OPT:
String arg = option.getArgument();
// Provide 'null' default, prevents logging internal error.
// we have something different to report here.
Scope scope = Scope.getScope(arg, null);
if (scope != null) ...{
emitter.setScope(scope);
} else ...{
System.err.println(Messages.getMessage("badScope00", arg));
}
break;
case TEST_OPT:
emitter.setTestCaseWanted(true);
break;
case BUILDFILE_OPT:
emitter.setBuildFileWanted(true);
break;
case ALL_OPT:
emitter.setAllWanted(true);
break;
case TYPEMAPPING_OPT:
String tmValue = option.getArgument();
if (tmValue.equals("1.0")) ...{
emitter.setTypeMappingVersion("1.0");
} else if (tmValue.equals("1.1")) ...{
emitter.setTypeMappingVersion("1.1");
} else if (tmValue.equals("1.2")) ...{
emitter.setTypeMappingVersion("1.2");
} else if (tmValue.equals("1.3")) ...{
emitter.setTypeMappingVersion("1.3");
} else ...{
System.out.println(
Messages.getMessage("badTypeMappingOption00"));
}
break;
case USERNAME_OPT:
emitter.setUsername(option.getArgument());
break;
case PASSWORD_OPT:
emitter.setPassword(option.getArgument());
break;
case CLASSPATH_OPT:
ClassUtils.setDefaultClassLoader(ClassUtils.createClassLoader(
option.getArgument(),
this.getClass().getClassLoader()));
break;
case NS_INCLUDE_OPT:
NamespaceSelector include = new NamespaceSelector();
include.setNamespace(option.getArgument());
emitter.getNamespaceIncludes().add(include);
break;
case NS_EXCLUDE_OPT:
NamespaceSelector exclude = new NamespaceSelector();
exclude.setNamespace(option.getArgument());
emitter.getNamespaceExcludes().add(exclude);
break;
case IMPL_CLASS_OPT:
emitter.setImplementationClassName(option.getArgument());
break;
case ALLOW_INVALID_URL_OPT:
emitter.setAllowInvalidURL(true);
break;
case WRAP_ARRAYS_OPT:
emitter.setWrapArrays(true);
break;
default :
super.parseOption(option);
}
} // parseOption
/** *//**
* validateOptions
* This method is invoked after the options are set to validate
* the option settings.
*/
protected void validateOptions() ...{
super.validateOptions();
// validate argument combinations
if (emitter.isSkeletonWanted() && !emitter.isServerSide()) ...{
System.out.println(Messages.getMessage("badSkeleton00"));
printUsage();
}
if (!emitter.getNamespaceMap().isEmpty() && bPackageOpt) ...{
System.out.println(Messages.getMessage("badpackage00"));
printUsage();
}
} // validateOptions
/** *//**
* Main
* Run the WSDL2Java emitter with the specified command-line arguments
*
* @param args command-line arguments
*/
public static void main(String args[]) ...{
WSDL2Java wsdl2java = new WSDL2Java();
//wsdl2java.run(args);
String[] v=...{"E:/Program Files/activeBPEL/Designer/workspace/airline/wsdl/Travel.wsdl"};
wsdl2java.run(v);
}
}
* Copyright 2001-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.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.axis.wsdl;
import org.apache.axis.constants.Scope;
import org.apache.axis.utils.CLOption;
import org.apache.axis.utils.CLOptionDescriptor;
import org.apache.axis.utils.ClassUtils;
import org.apache.axis.utils.JavaUtils;
import org.apache.axis.utils.Messages;
import org.apache.axis.wsdl.gen.Parser;
import org.apache.axis.wsdl.gen.WSDL2;
import org.apache.axis.wsdl.toJava.Emitter;
import org.apache.axis.wsdl.toJava.NamespaceSelector;
/** */ /**
* Command line interface to the WSDL2Java utility
*/
public class WSDL2Java extends WSDL2 ... {
// Define our short one-letter option identifiers.
/** *//** Field SERVER_OPT */
protected static final int SERVER_OPT = 's';
/** *//** Field SKELETON_DEPLOY_OPT */
protected static final int SKELETON_DEPLOY_OPT = 'S';
/** *//** Field NAMESPACE_OPT */
protected static final int NAMESPACE_OPT = 'N';
/** *//** Field NAMESPACE_FILE_OPT */
protected static final int NAMESPACE_FILE_OPT = 'f';
/** *//** Field OUTPUT_OPT */
protected static final int OUTPUT_OPT = 'o';
/** *//** Field SCOPE_OPT */
protected static final int SCOPE_OPT = 'd';
/** *//** Field TEST_OPT */
protected static final int TEST_OPT = 't';
/** *//** Field BUILDFILE_OPT */
protected static final int BUILDFILE_OPT = 'B';
/** *//** Field PACKAGE_OPT */
protected static final int PACKAGE_OPT = 'p';
/** *//** Field ALL_OPT */
protected static final int ALL_OPT = 'a';
/** *//** Field TYPEMAPPING_OPT */
protected static final int TYPEMAPPING_OPT = 'T';
/** *//** Field FACTORY_CLASS_OPT */
protected static final int FACTORY_CLASS_OPT = 'F';
/** *//** Field HELPER_CLASS_OPT */
protected static final int HELPER_CLASS_OPT = 'H';
/** *//** Field USERNAME_OPT */
protected static final int USERNAME_OPT = 'U';
/** *//** Field PASSWORD_OPT */
protected static final int PASSWORD_OPT = 'P';
protected static final int CLASSPATH_OPT = 'X';
/** *//** Field bPackageOpt */
protected boolean bPackageOpt = false;
/** *//** Field namespace include */
protected static final int NS_INCLUDE_OPT = 'i';
/** *//** Filed namespace exclude */
protected static final int NS_EXCLUDE_OPT = 'x';
/** *//** Field IMPL_CLASS_OPT */
protected static final int IMPL_CLASS_OPT = 'c';
/** *//** Field ALLOW_INVALID_URL_OPT */
protected static final int ALLOW_INVALID_URL_OPT = 'u';
/** *//** Wrap arrays option */
protected static final int WRAP_ARRAYS_OPT = 'w';
/** *//** Field emitter */
private Emitter emitter;
/** *//**
* Define the understood options. Each CLOptionDescriptor contains:
* - The "long" version of the option. Eg, "help" means that "--help" will
* be recognised.
* - The option flags, governing the option's argument(s).
* - The "short" version of the option. Eg, 'h' means that "-h" will be
* recognised.
* - A description of the option for the usage message
*/
protected static final CLOptionDescriptor[] options =
new CLOptionDescriptor[]...{
new CLOptionDescriptor("server-side",
CLOptionDescriptor.ARGUMENT_DISALLOWED,
SERVER_OPT, Messages.getMessage("optionSkel00")),
new CLOptionDescriptor("skeletonDeploy",
CLOptionDescriptor.ARGUMENT_REQUIRED,
SKELETON_DEPLOY_OPT,
Messages.getMessage("optionSkeletonDeploy00")),
new CLOptionDescriptor("NStoPkg",
CLOptionDescriptor.DUPLICATES_ALLOWED
+ CLOptionDescriptor.ARGUMENTS_REQUIRED_2,
NAMESPACE_OPT,
Messages.getMessage("optionNStoPkg00")),
new CLOptionDescriptor("fileNStoPkg",
CLOptionDescriptor.ARGUMENT_REQUIRED,
NAMESPACE_FILE_OPT,
Messages.getMessage("optionFileNStoPkg00")),
new CLOptionDescriptor("package", CLOptionDescriptor.ARGUMENT_REQUIRED,
PACKAGE_OPT,
Messages.getMessage("optionPackage00")),
new CLOptionDescriptor("output", CLOptionDescriptor.ARGUMENT_REQUIRED,
OUTPUT_OPT,
Messages.getMessage("optionOutput00")),
new CLOptionDescriptor("deployScope",
CLOptionDescriptor.ARGUMENT_REQUIRED, SCOPE_OPT,
Messages.getMessage("optionScope00")),
new CLOptionDescriptor("testCase",
CLOptionDescriptor.ARGUMENT_DISALLOWED,
TEST_OPT, Messages.getMessage("optionTest00")),
new CLOptionDescriptor("all", CLOptionDescriptor.ARGUMENT_DISALLOWED,
ALL_OPT, Messages.getMessage("optionAll00")),
new CLOptionDescriptor("typeMappingVersion",
CLOptionDescriptor.ARGUMENT_REQUIRED,
TYPEMAPPING_OPT,
Messages.getMessage("optionTypeMapping00")),
new CLOptionDescriptor("factory", CLOptionDescriptor.ARGUMENT_REQUIRED,
FACTORY_CLASS_OPT,
Messages.getMessage("optionFactory00")),
new CLOptionDescriptor("helperGen",
CLOptionDescriptor.ARGUMENT_DISALLOWED,
HELPER_CLASS_OPT,
Messages.getMessage("optionHelper00")),
new CLOptionDescriptor("buildFile", CLOptionDescriptor.ARGUMENT_DISALLOWED,
BUILDFILE_OPT,
Messages.getMessage("optionBuildFile00")),
new CLOptionDescriptor("user", CLOptionDescriptor.ARGUMENT_REQUIRED,
USERNAME_OPT,
Messages.getMessage("optionUsername")),
new CLOptionDescriptor("password",
CLOptionDescriptor.ARGUMENT_REQUIRED,
PASSWORD_OPT,
Messages.getMessage("optionPassword")),
new CLOptionDescriptor("classpath",
CLOptionDescriptor.ARGUMENT_OPTIONAL,
CLASSPATH_OPT,
Messages.getMessage("optionClasspath")),
new CLOptionDescriptor("nsInclude",
CLOptionDescriptor.DUPLICATES_ALLOWED
+ CLOptionDescriptor.ARGUMENT_REQUIRED,
NS_INCLUDE_OPT,
Messages.getMessage("optionNSInclude")),
new CLOptionDescriptor("nsExclude",
CLOptionDescriptor.DUPLICATES_ALLOWED
+ CLOptionDescriptor.ARGUMENT_REQUIRED,
NS_EXCLUDE_OPT,
Messages.getMessage("optionNSExclude")),
new CLOptionDescriptor("implementationClassName",
CLOptionDescriptor.ARGUMENT_REQUIRED,
IMPL_CLASS_OPT,
Messages.getMessage("implementationClassName")),
new CLOptionDescriptor("allowInvalidURL", CLOptionDescriptor.ARGUMENT_DISALLOWED,
ALLOW_INVALID_URL_OPT, Messages.getMessage("optionAllowInvalidURL")),
new CLOptionDescriptor("wrapArrays",
CLOptionDescriptor.ARGUMENT_OPTIONAL,
WRAP_ARRAYS_OPT,
Messages.getMessage("optionWrapArrays")),
};
/** *//**
* Instantiate a WSDL2Java emitter.
*/
protected WSDL2Java() ...{
// emitter is the same as the parent's parser variable. Just cast it
// here once so we don't have to cast it every time we use it.
emitter = (Emitter) parser;
addOptions(options);
} // ctor
/** *//**
* Instantiate an extension of the Parser
*
* @return
*/
protected Parser createParser() ...{
return new Emitter();
} // createParser
/** *//**
* Parse an option
*
* @param option is the option
*/
protected void parseOption(CLOption option) ...{
switch (option.getId()) ...{
case FACTORY_CLASS_OPT:
emitter.setFactory(option.getArgument());
break;
case HELPER_CLASS_OPT:
emitter.setHelperWanted(true);
break;
case SKELETON_DEPLOY_OPT:
emitter.setSkeletonWanted(
JavaUtils.isTrueExplicitly(option.getArgument(0)));
// --skeletonDeploy assumes --server-side, so fall thru
case SERVER_OPT:
emitter.setServerSide(true);
break;
case NAMESPACE_OPT:
String namespace = option.getArgument(0);
String packageName = option.getArgument(1);
emitter.getNamespaceMap().put(namespace, packageName);
break;
case NAMESPACE_FILE_OPT:
emitter.setNStoPkg(option.getArgument());
break;
case PACKAGE_OPT:
bPackageOpt = true;
emitter.setPackageName(option.getArgument());
break;
case OUTPUT_OPT:
emitter.setOutputDir(option.getArgument());
break;
case SCOPE_OPT:
String arg = option.getArgument();
// Provide 'null' default, prevents logging internal error.
// we have something different to report here.
Scope scope = Scope.getScope(arg, null);
if (scope != null) ...{
emitter.setScope(scope);
} else ...{
System.err.println(Messages.getMessage("badScope00", arg));
}
break;
case TEST_OPT:
emitter.setTestCaseWanted(true);
break;
case BUILDFILE_OPT:
emitter.setBuildFileWanted(true);
break;
case ALL_OPT:
emitter.setAllWanted(true);
break;
case TYPEMAPPING_OPT:
String tmValue = option.getArgument();
if (tmValue.equals("1.0")) ...{
emitter.setTypeMappingVersion("1.0");
} else if (tmValue.equals("1.1")) ...{
emitter.setTypeMappingVersion("1.1");
} else if (tmValue.equals("1.2")) ...{
emitter.setTypeMappingVersion("1.2");
} else if (tmValue.equals("1.3")) ...{
emitter.setTypeMappingVersion("1.3");
} else ...{
System.out.println(
Messages.getMessage("badTypeMappingOption00"));
}
break;
case USERNAME_OPT:
emitter.setUsername(option.getArgument());
break;
case PASSWORD_OPT:
emitter.setPassword(option.getArgument());
break;
case CLASSPATH_OPT:
ClassUtils.setDefaultClassLoader(ClassUtils.createClassLoader(
option.getArgument(),
this.getClass().getClassLoader()));
break;
case NS_INCLUDE_OPT:
NamespaceSelector include = new NamespaceSelector();
include.setNamespace(option.getArgument());
emitter.getNamespaceIncludes().add(include);
break;
case NS_EXCLUDE_OPT:
NamespaceSelector exclude = new NamespaceSelector();
exclude.setNamespace(option.getArgument());
emitter.getNamespaceExcludes().add(exclude);
break;
case IMPL_CLASS_OPT:
emitter.setImplementationClassName(option.getArgument());
break;
case ALLOW_INVALID_URL_OPT:
emitter.setAllowInvalidURL(true);
break;
case WRAP_ARRAYS_OPT:
emitter.setWrapArrays(true);
break;
default :
super.parseOption(option);
}
} // parseOption
/** *//**
* validateOptions
* This method is invoked after the options are set to validate
* the option settings.
*/
protected void validateOptions() ...{
super.validateOptions();
// validate argument combinations
if (emitter.isSkeletonWanted() && !emitter.isServerSide()) ...{
System.out.println(Messages.getMessage("badSkeleton00"));
printUsage();
}
if (!emitter.getNamespaceMap().isEmpty() && bPackageOpt) ...{
System.out.println(Messages.getMessage("badpackage00"));
printUsage();
}
} // validateOptions
/** *//**
* Main
* Run the WSDL2Java emitter with the specified command-line arguments
*
* @param args command-line arguments
*/
public static void main(String args[]) ...{
WSDL2Java wsdl2java = new WSDL2Java();
//wsdl2java.run(args);
String[] v=...{"E:/Program Files/activeBPEL/Designer/workspace/airline/wsdl/Travel.wsdl"};
wsdl2java.run(v);
}
}
生成4个文件,分别如下:
airline包中
FlightConfirmationType.java
/** */
/**
* FlightConfirmationType.java
*
* This file was auto-generated from WSDL
* by the Apache Axis #axisVersion# #today# WSDL2Java emitter.
*/
package com.packtpub.service.airline;
public class FlightConfirmationType implements java.io.Serializable ... {
private java.lang.String flightNo;
private com.packtpub.service.airline.TravelClassType travelClass;
private float price;
private java.util.Calendar departureDateTime;
private java.util.Calendar returnDateTime;
private boolean approved;
public FlightConfirmationType() ...{
}
public FlightConfirmationType(
java.lang.String flightNo,
com.packtpub.service.airline.TravelClassType travelClass,
float price,
java.util.Calendar departureDateTime,
java.util.Calendar returnDateTime,
boolean approved) ...{
this.flightNo = flightNo;
this.travelClass = travelClass;
this.price = price;
this.departureDateTime = departureDateTime;
this.returnDateTime = returnDateTime;
this.approved = approved;
}
/** *//**
* Gets the flightNo value for this FlightConfirmationType.
*
* @return flightNo
*/
public java.lang.String getFlightNo() ...{
return flightNo;
}
/** *//**
* Sets the flightNo value for this FlightConfirmationType.
*
* @param flightNo
*/
public void setFlightNo(java.lang.String flightNo) ...{
this.flightNo = flightNo;
}
/** *//**
* Gets the travelClass value for this FlightConfirmationType.
*
* @return travelClass
*/
public com.packtpub.service.airline.TravelClassType getTravelClass() ...{
return travelClass;
}
/** *//**
* Sets the travelClass value for this FlightConfirmationType.
*
* @param travelClass
*/
public void setTravelClass(com.packtpub.service.airline.TravelClassType travelClass) ...{
this.travelClass = travelClass;
}
/** *//**
* Gets the price value for this FlightConfirmationType.
*
* @return price
*/
public float getPrice() ...{
return price;
}
/** *//**
* Sets the price value for this FlightConfirmationType.
*
* @param price
*/
public void setPrice(float price) ...{
this.price = price;
}
/** *//**
* Gets the departureDateTime value for this FlightConfirmationType.
*
* @return departureDateTime
*/
public java.util.Calendar getDepartureDateTime() ...{
return departureDateTime;
}
/** *//**
* Sets the departureDateTime value for this FlightConfirmationType.
*
* @param departureDateTime
*/
public void setDepartureDateTime(java.util.Calendar departureDateTime) ...{
this.departureDateTime = departureDateTime;
}
/** *//**
* Gets the returnDateTime value for this FlightConfirmationType.
*
* @return returnDateTime
*/
public java.util.Calendar getReturnDateTime() ...{
return returnDateTime;
}
/** *//**
* Sets the returnDateTime value for this FlightConfirmationType.
*
* @param returnDateTime
*/
public void setReturnDateTime(java.util.Calendar returnDateTime) ...{
this.returnDateTime = returnDateTime;
}
/** *//**
* Gets the approved value for this FlightConfirmationType.
*
* @return approved
*/
public boolean isApproved() ...{
return approved;
}
/** *//**
* Sets the approved value for this FlightConfirmationType.
*
* @param approved
*/
public void setApproved(boolean approved) ...{
this.approved = approved;
}
private java.lang.Object __equalsCalc = null;
public synchronized boolean equals(java.lang.Object obj) ...{
if (!(obj instanceof FlightConfirmationType)) return false;
FlightConfirmationType other = (FlightConfirmationType) obj;
if (obj == null) return false;
if (this == obj) return true;
if (__equalsCalc != null) ...{
return (__equalsCalc == obj);
}
__equalsCalc = obj;
boolean _equals;
_equals = true &&
((this.flightNo==null && other.getFlightNo()==null) ||
(this.flightNo!=null &&
this.flightNo.equals(other.getFlightNo()))) &&
((this.travelClass==null && other.getTravelClass()==null) ||
(this.travelClass!=null &&
this.travelClass.equals(other.getTravelClass()))) &&
this.price == other.getPrice() &&
((this.departureDateTime==null && other.getDepartureDateTime()==null) ||
(this.departureDateTime!=null &&
this.departureDateTime.equals(other.getDepartureDateTime()))) &&
((this.returnDateTime==null && other.getReturnDateTime()==null) ||
(this.returnDateTime!=null &&
this.returnDateTime.equals(other.getReturnDateTime()))) &&
this.approved == other.isApproved();
__equalsCalc = null;
return _equals;
}
private boolean __hashCodeCalc = false;
public synchronized int hashCode() ...{
if (__hashCodeCalc) ...{
return 0;
}
__hashCodeCalc = true;
int _hashCode = 1;
if (getFlightNo() != null) ...{
_hashCode += getFlightNo().hashCode();
}
if (getTravelClass() != null) ...{
_hashCode += getTravelClass().hashCode();
}
_hashCode += new Float(getPrice()).hashCode();
if (getDepartureDateTime() != null) ...{
_hashCode += getDepartureDateTime().hashCode();
}
if (getReturnDateTime() != null) ...{
_hashCode += getReturnDateTime().hashCode();
}
_hashCode += (isApproved() ? Boolean.TRUE : Boolean.FALSE).hashCode();
__hashCodeCalc = false;
return _hashCode;
}
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc =
new org.apache.axis.description.TypeDesc(FlightConfirmationType.class, true);
static ...{
typeDesc.setXmlType(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "FlightConfirmationType"));
org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("flightNo");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "FlightNo"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("travelClass");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "TravelClass"));
elemField.setXmlType(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "TravelClassType"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("price");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "Price"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "float"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("departureDateTime");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "DepartureDateTime"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "dateTime"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("returnDateTime");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "ReturnDateTime"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "dateTime"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("approved");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "Approved"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
}
/** *//**
* Return type metadata object
*/
public static org.apache.axis.description.TypeDesc getTypeDesc() ...{
return typeDesc;
}
/** *//**
* Get Custom Serializer
*/
public static org.apache.axis.encoding.Serializer getSerializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) ...{
return
new org.apache.axis.encoding.ser.BeanSerializer(
_javaType, _xmlType, typeDesc);
}
/** *//**
* Get Custom Deserializer
*/
public static org.apache.axis.encoding.Deserializer getDeserializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) ...{
return
new org.apache.axis.encoding.ser.BeanDeserializer(
_javaType, _xmlType, typeDesc);
}
}
* FlightConfirmationType.java
*
* This file was auto-generated from WSDL
* by the Apache Axis #axisVersion# #today# WSDL2Java emitter.
*/
package com.packtpub.service.airline;
public class FlightConfirmationType implements java.io.Serializable ... {
private java.lang.String flightNo;
private com.packtpub.service.airline.TravelClassType travelClass;
private float price;
private java.util.Calendar departureDateTime;
private java.util.Calendar returnDateTime;
private boolean approved;
public FlightConfirmationType() ...{
}
public FlightConfirmationType(
java.lang.String flightNo,
com.packtpub.service.airline.TravelClassType travelClass,
float price,
java.util.Calendar departureDateTime,
java.util.Calendar returnDateTime,
boolean approved) ...{
this.flightNo = flightNo;
this.travelClass = travelClass;
this.price = price;
this.departureDateTime = departureDateTime;
this.returnDateTime = returnDateTime;
this.approved = approved;
}
/** *//**
* Gets the flightNo value for this FlightConfirmationType.
*
* @return flightNo
*/
public java.lang.String getFlightNo() ...{
return flightNo;
}
/** *//**
* Sets the flightNo value for this FlightConfirmationType.
*
* @param flightNo
*/
public void setFlightNo(java.lang.String flightNo) ...{
this.flightNo = flightNo;
}
/** *//**
* Gets the travelClass value for this FlightConfirmationType.
*
* @return travelClass
*/
public com.packtpub.service.airline.TravelClassType getTravelClass() ...{
return travelClass;
}
/** *//**
* Sets the travelClass value for this FlightConfirmationType.
*
* @param travelClass
*/
public void setTravelClass(com.packtpub.service.airline.TravelClassType travelClass) ...{
this.travelClass = travelClass;
}
/** *//**
* Gets the price value for this FlightConfirmationType.
*
* @return price
*/
public float getPrice() ...{
return price;
}
/** *//**
* Sets the price value for this FlightConfirmationType.
*
* @param price
*/
public void setPrice(float price) ...{
this.price = price;
}
/** *//**
* Gets the departureDateTime value for this FlightConfirmationType.
*
* @return departureDateTime
*/
public java.util.Calendar getDepartureDateTime() ...{
return departureDateTime;
}
/** *//**
* Sets the departureDateTime value for this FlightConfirmationType.
*
* @param departureDateTime
*/
public void setDepartureDateTime(java.util.Calendar departureDateTime) ...{
this.departureDateTime = departureDateTime;
}
/** *//**
* Gets the returnDateTime value for this FlightConfirmationType.
*
* @return returnDateTime
*/
public java.util.Calendar getReturnDateTime() ...{
return returnDateTime;
}
/** *//**
* Sets the returnDateTime value for this FlightConfirmationType.
*
* @param returnDateTime
*/
public void setReturnDateTime(java.util.Calendar returnDateTime) ...{
this.returnDateTime = returnDateTime;
}
/** *//**
* Gets the approved value for this FlightConfirmationType.
*
* @return approved
*/
public boolean isApproved() ...{
return approved;
}
/** *//**
* Sets the approved value for this FlightConfirmationType.
*
* @param approved
*/
public void setApproved(boolean approved) ...{
this.approved = approved;
}
private java.lang.Object __equalsCalc = null;
public synchronized boolean equals(java.lang.Object obj) ...{
if (!(obj instanceof FlightConfirmationType)) return false;
FlightConfirmationType other = (FlightConfirmationType) obj;
if (obj == null) return false;
if (this == obj) return true;
if (__equalsCalc != null) ...{
return (__equalsCalc == obj);
}
__equalsCalc = obj;
boolean _equals;
_equals = true &&
((this.flightNo==null && other.getFlightNo()==null) ||
(this.flightNo!=null &&
this.flightNo.equals(other.getFlightNo()))) &&
((this.travelClass==null && other.getTravelClass()==null) ||
(this.travelClass!=null &&
this.travelClass.equals(other.getTravelClass()))) &&
this.price == other.getPrice() &&
((this.departureDateTime==null && other.getDepartureDateTime()==null) ||
(this.departureDateTime!=null &&
this.departureDateTime.equals(other.getDepartureDateTime()))) &&
((this.returnDateTime==null && other.getReturnDateTime()==null) ||
(this.returnDateTime!=null &&
this.returnDateTime.equals(other.getReturnDateTime()))) &&
this.approved == other.isApproved();
__equalsCalc = null;
return _equals;
}
private boolean __hashCodeCalc = false;
public synchronized int hashCode() ...{
if (__hashCodeCalc) ...{
return 0;
}
__hashCodeCalc = true;
int _hashCode = 1;
if (getFlightNo() != null) ...{
_hashCode += getFlightNo().hashCode();
}
if (getTravelClass() != null) ...{
_hashCode += getTravelClass().hashCode();
}
_hashCode += new Float(getPrice()).hashCode();
if (getDepartureDateTime() != null) ...{
_hashCode += getDepartureDateTime().hashCode();
}
if (getReturnDateTime() != null) ...{
_hashCode += getReturnDateTime().hashCode();
}
_hashCode += (isApproved() ? Boolean.TRUE : Boolean.FALSE).hashCode();
__hashCodeCalc = false;
return _hashCode;
}
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc =
new org.apache.axis.description.TypeDesc(FlightConfirmationType.class, true);
static ...{
typeDesc.setXmlType(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "FlightConfirmationType"));
org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("flightNo");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "FlightNo"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("travelClass");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "TravelClass"));
elemField.setXmlType(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "TravelClassType"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("price");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "Price"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "float"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("departureDateTime");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "DepartureDateTime"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "dateTime"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("returnDateTime");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "ReturnDateTime"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "dateTime"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("approved");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "Approved"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
}
/** *//**
* Return type metadata object
*/
public static org.apache.axis.description.TypeDesc getTypeDesc() ...{
return typeDesc;
}
/** *//**
* Get Custom Serializer
*/
public static org.apache.axis.encoding.Serializer getSerializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) ...{
return
new org.apache.axis.encoding.ser.BeanSerializer(
_javaType, _xmlType, typeDesc);
}
/** *//**
* Get Custom Deserializer
*/
public static org.apache.axis.encoding.Deserializer getDeserializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) ...{
return
new org.apache.axis.encoding.ser.BeanDeserializer(
_javaType, _xmlType, typeDesc);
}
}
FlightRequestType.java
/** */
/**
* FlightRequestType.java
*
* This file was auto-generated from WSDL
* by the Apache Axis #axisVersion# #today# WSDL2Java emitter.
*/
package com.packtpub.service.airline;
public class FlightRequestType implements java.io.Serializable ... {
private java.lang.String originFrom;
private java.lang.String destinationTo;
private java.util.Date desiredDepartureDate;
private java.util.Date desiredReturnDate;
public FlightRequestType() ...{
}
public FlightRequestType(
java.lang.String originFrom,
java.lang.String destinationTo,
java.util.Date desiredDepartureDate,
java.util.Date desiredReturnDate) ...{
this.originFrom = originFrom;
this.destinationTo = destinationTo;
this.desiredDepartureDate = desiredDepartureDate;
this.desiredReturnDate = desiredReturnDate;
}
/** *//**
* Gets the originFrom value for this FlightRequestType.
*
* @return originFrom
*/
public java.lang.String getOriginFrom() ...{
return originFrom;
}
/** *//**
* Sets the originFrom value for this FlightRequestType.
*
* @param originFrom
*/
public void setOriginFrom(java.lang.String originFrom) ...{
this.originFrom = originFrom;
}
/** *//**
* Gets the destinationTo value for this FlightRequestType.
*
* @return destinationTo
*/
public java.lang.String getDestinationTo() ...{
return destinationTo;
}
/** *//**
* Sets the destinationTo value for this FlightRequestType.
*
* @param destinationTo
*/
public void setDestinationTo(java.lang.String destinationTo) ...{
this.destinationTo = destinationTo;
}
/** *//**
* Gets the desiredDepartureDate value for this FlightRequestType.
*
* @return desiredDepartureDate
*/
public java.util.Date getDesiredDepartureDate() ...{
return desiredDepartureDate;
}
/** *//**
* Sets the desiredDepartureDate value for this FlightRequestType.
*
* @param desiredDepartureDate
*/
public void setDesiredDepartureDate(java.util.Date desiredDepartureDate) ...{
this.desiredDepartureDate = desiredDepartureDate;
}
/** *//**
* Gets the desiredReturnDate value for this FlightRequestType.
*
* @return desiredReturnDate
*/
public java.util.Date getDesiredReturnDate() ...{
return desiredReturnDate;
}
/** *//**
* Sets the desiredReturnDate value for this FlightRequestType.
*
* @param desiredReturnDate
*/
public void setDesiredReturnDate(java.util.Date desiredReturnDate) ...{
this.desiredReturnDate = desiredReturnDate;
}
private java.lang.Object __equalsCalc = null;
public synchronized boolean equals(java.lang.Object obj) ...{
if (!(obj instanceof FlightRequestType)) return false;
FlightRequestType other = (FlightRequestType) obj;
if (obj == null) return false;
if (this == obj) return true;
if (__equalsCalc != null) ...{
return (__equalsCalc == obj);
}
__equalsCalc = obj;
boolean _equals;
_equals = true &&
((this.originFrom==null && other.getOriginFrom()==null) ||
(this.originFrom!=null &&
this.originFrom.equals(other.getOriginFrom()))) &&
((this.destinationTo==null && other.getDestinationTo()==null) ||
(this.destinationTo!=null &&
this.destinationTo.equals(other.getDestinationTo()))) &&
((this.desiredDepartureDate==null && other.getDesiredDepartureDate()==null) ||
(this.desiredDepartureDate!=null &&
this.desiredDepartureDate.equals(other.getDesiredDepartureDate()))) &&
((this.desiredReturnDate==null && other.getDesiredReturnDate()==null) ||
(this.desiredReturnDate!=null &&
this.desiredReturnDate.equals(other.getDesiredReturnDate())));
__equalsCalc = null;
return _equals;
}
private boolean __hashCodeCalc = false;
public synchronized int hashCode() ...{
if (__hashCodeCalc) ...{
return 0;
}
__hashCodeCalc = true;
int _hashCode = 1;
if (getOriginFrom() != null) ...{
_hashCode += getOriginFrom().hashCode();
}
if (getDestinationTo() != null) ...{
_hashCode += getDestinationTo().hashCode();
}
if (getDesiredDepartureDate() != null) ...{
_hashCode += getDesiredDepartureDate().hashCode();
}
if (getDesiredReturnDate() != null) ...{
_hashCode += getDesiredReturnDate().hashCode();
}
__hashCodeCalc = false;
return _hashCode;
}
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc =
new org.apache.axis.description.TypeDesc(FlightRequestType.class, true);
static ...{
typeDesc.setXmlType(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "FlightRequestType"));
org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("originFrom");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "OriginFrom"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("destinationTo");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "DestinationTo"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("desiredDepartureDate");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "DesiredDepartureDate"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "date"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("desiredReturnDate");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "DesiredReturnDate"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "date"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
}
/** *//**
* Return type metadata object
*/
public static org.apache.axis.description.TypeDesc getTypeDesc() ...{
return typeDesc;
}
/** *//**
* Get Custom Serializer
*/
public static org.apache.axis.encoding.Serializer getSerializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) ...{
return
new org.apache.axis.encoding.ser.BeanSerializer(
_javaType, _xmlType, typeDesc);
}
/** *//**
* Get Custom Deserializer
*/
public static org.apache.axis.encoding.Deserializer getDeserializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) ...{
return
new org.apache.axis.encoding.ser.BeanDeserializer(
_javaType, _xmlType, typeDesc);
}
}
* FlightRequestType.java
*
* This file was auto-generated from WSDL
* by the Apache Axis #axisVersion# #today# WSDL2Java emitter.
*/
package com.packtpub.service.airline;
public class FlightRequestType implements java.io.Serializable ... {
private java.lang.String originFrom;
private java.lang.String destinationTo;
private java.util.Date desiredDepartureDate;
private java.util.Date desiredReturnDate;
public FlightRequestType() ...{
}
public FlightRequestType(
java.lang.String originFrom,
java.lang.String destinationTo,
java.util.Date desiredDepartureDate,
java.util.Date desiredReturnDate) ...{
this.originFrom = originFrom;
this.destinationTo = destinationTo;
this.desiredDepartureDate = desiredDepartureDate;
this.desiredReturnDate = desiredReturnDate;
}
/** *//**
* Gets the originFrom value for this FlightRequestType.
*
* @return originFrom
*/
public java.lang.String getOriginFrom() ...{
return originFrom;
}
/** *//**
* Sets the originFrom value for this FlightRequestType.
*
* @param originFrom
*/
public void setOriginFrom(java.lang.String originFrom) ...{
this.originFrom = originFrom;
}
/** *//**
* Gets the destinationTo value for this FlightRequestType.
*
* @return destinationTo
*/
public java.lang.String getDestinationTo() ...{
return destinationTo;
}
/** *//**
* Sets the destinationTo value for this FlightRequestType.
*
* @param destinationTo
*/
public void setDestinationTo(java.lang.String destinationTo) ...{
this.destinationTo = destinationTo;
}
/** *//**
* Gets the desiredDepartureDate value for this FlightRequestType.
*
* @return desiredDepartureDate
*/
public java.util.Date getDesiredDepartureDate() ...{
return desiredDepartureDate;
}
/** *//**
* Sets the desiredDepartureDate value for this FlightRequestType.
*
* @param desiredDepartureDate
*/
public void setDesiredDepartureDate(java.util.Date desiredDepartureDate) ...{
this.desiredDepartureDate = desiredDepartureDate;
}
/** *//**
* Gets the desiredReturnDate value for this FlightRequestType.
*
* @return desiredReturnDate
*/
public java.util.Date getDesiredReturnDate() ...{
return desiredReturnDate;
}
/** *//**
* Sets the desiredReturnDate value for this FlightRequestType.
*
* @param desiredReturnDate
*/
public void setDesiredReturnDate(java.util.Date desiredReturnDate) ...{
this.desiredReturnDate = desiredReturnDate;
}
private java.lang.Object __equalsCalc = null;
public synchronized boolean equals(java.lang.Object obj) ...{
if (!(obj instanceof FlightRequestType)) return false;
FlightRequestType other = (FlightRequestType) obj;
if (obj == null) return false;
if (this == obj) return true;
if (__equalsCalc != null) ...{
return (__equalsCalc == obj);
}
__equalsCalc = obj;
boolean _equals;
_equals = true &&
((this.originFrom==null && other.getOriginFrom()==null) ||
(this.originFrom!=null &&
this.originFrom.equals(other.getOriginFrom()))) &&
((this.destinationTo==null && other.getDestinationTo()==null) ||
(this.destinationTo!=null &&
this.destinationTo.equals(other.getDestinationTo()))) &&
((this.desiredDepartureDate==null && other.getDesiredDepartureDate()==null) ||
(this.desiredDepartureDate!=null &&
this.desiredDepartureDate.equals(other.getDesiredDepartureDate()))) &&
((this.desiredReturnDate==null && other.getDesiredReturnDate()==null) ||
(this.desiredReturnDate!=null &&
this.desiredReturnDate.equals(other.getDesiredReturnDate())));
__equalsCalc = null;
return _equals;
}
private boolean __hashCodeCalc = false;
public synchronized int hashCode() ...{
if (__hashCodeCalc) ...{
return 0;
}
__hashCodeCalc = true;
int _hashCode = 1;
if (getOriginFrom() != null) ...{
_hashCode += getOriginFrom().hashCode();
}
if (getDestinationTo() != null) ...{
_hashCode += getDestinationTo().hashCode();
}
if (getDesiredDepartureDate() != null) ...{
_hashCode += getDesiredDepartureDate().hashCode();
}
if (getDesiredReturnDate() != null) ...{
_hashCode += getDesiredReturnDate().hashCode();
}
__hashCodeCalc = false;
return _hashCode;
}
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc =
new org.apache.axis.description.TypeDesc(FlightRequestType.class, true);
static ...{
typeDesc.setXmlType(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "FlightRequestType"));
org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("originFrom");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "OriginFrom"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("destinationTo");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "DestinationTo"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("desiredDepartureDate");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "DesiredDepartureDate"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "date"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("desiredReturnDate");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "DesiredReturnDate"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "date"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
}
/** *//**
* Return type metadata object
*/
public static org.apache.axis.description.TypeDesc getTypeDesc() ...{
return typeDesc;
}
/** *//**
* Get Custom Serializer
*/
public static org.apache.axis.encoding.Serializer getSerializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) ...{
return
new org.apache.axis.encoding.ser.BeanSerializer(
_javaType, _xmlType, typeDesc);
}
/** *//**
* Get Custom Deserializer
*/
public static org.apache.axis.encoding.Deserializer getDeserializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) ...{
return
new org.apache.axis.encoding.ser.BeanDeserializer(
_javaType, _xmlType, typeDesc);
}
}
TravelClassType.java
employee包中
/** */
/**
* TravelClassType.java
*
* This file was auto-generated from WSDL
* by the Apache Axis #axisVersion# #today# WSDL2Java emitter.
*/
package com.packtpub.service.airline;
public class TravelClassType implements java.io.Serializable ... {
private java.lang.String _value_;
private static java.util.HashMap _table_ = new java.util.HashMap();
// Constructor
protected TravelClassType(java.lang.String value) ...{
_value_ = value;
_table_.put(_value_,this);
}
public static final java.lang.String _Economy = "Economy";
public static final java.lang.String _Business = "Business";
public static final java.lang.String _First = "First";
public static final TravelClassType Economy = new TravelClassType(_Economy);
public static final TravelClassType Business = new TravelClassType(_Business);
public static final TravelClassType First = new TravelClassType(_First);
public java.lang.String getValue() ...{ return _value_;}
public static TravelClassType fromValue(java.lang.String value)
throws java.lang.IllegalArgumentException ...{
TravelClassType enumeration = (TravelClassType)
_table_.get(value);
if (enumeration==null) throw new java.lang.IllegalArgumentException();
return enumeration;
}
public static TravelClassType fromString(java.lang.String value)
throws java.lang.IllegalArgumentException ...{
return fromValue(value);
}
public boolean equals(java.lang.Object obj) ...{return (obj == this);}
public int hashCode() ...{ return toString().hashCode();}
public java.lang.String toString() ...{ return _value_;}
public java.lang.Object readResolve() throws java.io.ObjectStreamException ...{ return fromValue(_value_);}
public static org.apache.axis.encoding.Serializer getSerializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) ...{
return
new org.apache.axis.encoding.ser.EnumSerializer(
_javaType, _xmlType);
}
public static org.apache.axis.encoding.Deserializer getDeserializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) ...{
return
new org.apache.axis.encoding.ser.EnumDeserializer(
_javaType, _xmlType);
}
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc =
new org.apache.axis.description.TypeDesc(TravelClassType.class);
static ...{
typeDesc.setXmlType(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "TravelClassType"));
}
/** *//**
* Return type metadata object
*/
public static org.apache.axis.description.TypeDesc getTypeDesc() ...{
return typeDesc;
}
}
* TravelClassType.java
*
* This file was auto-generated from WSDL
* by the Apache Axis #axisVersion# #today# WSDL2Java emitter.
*/
package com.packtpub.service.airline;
public class TravelClassType implements java.io.Serializable ... {
private java.lang.String _value_;
private static java.util.HashMap _table_ = new java.util.HashMap();
// Constructor
protected TravelClassType(java.lang.String value) ...{
_value_ = value;
_table_.put(_value_,this);
}
public static final java.lang.String _Economy = "Economy";
public static final java.lang.String _Business = "Business";
public static final java.lang.String _First = "First";
public static final TravelClassType Economy = new TravelClassType(_Economy);
public static final TravelClassType Business = new TravelClassType(_Business);
public static final TravelClassType First = new TravelClassType(_First);
public java.lang.String getValue() ...{ return _value_;}
public static TravelClassType fromValue(java.lang.String value)
throws java.lang.IllegalArgumentException ...{
TravelClassType enumeration = (TravelClassType)
_table_.get(value);
if (enumeration==null) throw new java.lang.IllegalArgumentException();
return enumeration;
}
public static TravelClassType fromString(java.lang.String value)
throws java.lang.IllegalArgumentException ...{
return fromValue(value);
}
public boolean equals(java.lang.Object obj) ...{return (obj == this);}
public int hashCode() ...{ return toString().hashCode();}
public java.lang.String toString() ...{ return _value_;}
public java.lang.Object readResolve() throws java.io.ObjectStreamException ...{ return fromValue(_value_);}
public static org.apache.axis.encoding.Serializer getSerializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) ...{
return
new org.apache.axis.encoding.ser.EnumSerializer(
_javaType, _xmlType);
}
public static org.apache.axis.encoding.Deserializer getDeserializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) ...{
return
new org.apache.axis.encoding.ser.EnumDeserializer(
_javaType, _xmlType);
}
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc =
new org.apache.axis.description.TypeDesc(TravelClassType.class);
static ...{
typeDesc.setXmlType(new javax.xml.namespace.QName("http://packtpub.com/service/airline/", "TravelClassType"));
}
/** *//**
* Return type metadata object
*/
public static org.apache.axis.description.TypeDesc getTypeDesc() ...{
return typeDesc;
}
}
EmployeeType.java
/** */
/**
* EmployeeType.java
*
* This file was auto-generated from WSDL
* by the Apache Axis #axisVersion# #today# WSDL2Java emitter.
*/
package com.packtpub.service.employee;
public class EmployeeType implements java.io.Serializable ... {
private java.lang.String firstName;
private java.lang.String lastName;
private java.lang.String departement;
public EmployeeType() ...{
}
public EmployeeType(
java.lang.String firstName,
java.lang.String lastName,
java.lang.String departement) ...{
this.firstName = firstName;
this.lastName = lastName;
this.departement = departement;
}
/** *//**
* Gets the firstName value for this EmployeeType.
*
* @return firstName
*/
public java.lang.String getFirstName() ...{
return firstName;
}
/** *//**
* Sets the firstName value for this EmployeeType.
*
* @param firstName
*/
public void setFirstName(java.lang.String firstName) ...{
this.firstName = firstName;
}
/** *//**
* Gets the lastName value for this EmployeeType.
*
* @return lastName
*/
public java.lang.String getLastName() ...{
return lastName;
}
/** *//**
* Sets the lastName value for this EmployeeType.
*
* @param lastName
*/
public void setLastName(java.lang.String lastName) ...{
this.lastName = lastName;
}
/** *//**
* Gets the departement value for this EmployeeType.
*
* @return departement
*/
public java.lang.String getDepartement() ...{
return departement;
}
/** *//**
* Sets the departement value for this EmployeeType.
*
* @param departement
*/
public void setDepartement(java.lang.String departement) ...{
this.departement = departement;
}
private java.lang.Object __equalsCalc = null;
public synchronized boolean equals(java.lang.Object obj) ...{
if (!(obj instanceof EmployeeType)) return false;
EmployeeType other = (EmployeeType) obj;
if (obj == null) return false;
if (this == obj) return true;
if (__equalsCalc != null) ...{
return (__equalsCalc == obj);
}
__equalsCalc = obj;
boolean _equals;
_equals = true &&
((this.firstName==null && other.getFirstName()==null) ||
(this.firstName!=null &&
this.firstName.equals(other.getFirstName()))) &&
((this.lastName==null && other.getLastName()==null) ||
(this.lastName!=null &&
this.lastName.equals(other.getLastName()))) &&
((this.departement==null && other.getDepartement()==null) ||
(this.departement!=null &&
this.departement.equals(other.getDepartement())));
__equalsCalc = null;
return _equals;
}
private boolean __hashCodeCalc = false;
public synchronized int hashCode() ...{
if (__hashCodeCalc) ...{
return 0;
}
__hashCodeCalc = true;
int _hashCode = 1;
if (getFirstName() != null) ...{
_hashCode += getFirstName().hashCode();
}
if (getLastName() != null) ...{
_hashCode += getLastName().hashCode();
}
if (getDepartement() != null) ...{
_hashCode += getDepartement().hashCode();
}
__hashCodeCalc = false;
return _hashCode;
}
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc =
new org.apache.axis.description.TypeDesc(EmployeeType.class, true);
static ...{
typeDesc.setXmlType(new javax.xml.namespace.QName("http://packtpub.com/service/employee/", "EmployeeType"));
org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("firstName");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/employee/", "FirstName"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("lastName");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/employee/", "LastName"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("departement");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/employee/", "Departement"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
}
/** *//**
* Return type metadata object
*/
public static org.apache.axis.description.TypeDesc getTypeDesc() ...{
return typeDesc;
}
/** *//**
* Get Custom Serializer
*/
public static org.apache.axis.encoding.Serializer getSerializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) ...{
return
new org.apache.axis.encoding.ser.BeanSerializer(
_javaType, _xmlType, typeDesc);
}
/** *//**
* Get Custom Deserializer
*/
public static org.apache.axis.encoding.Deserializer getDeserializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) ...{
return
new org.apache.axis.encoding.ser.BeanDeserializer(
_javaType, _xmlType, typeDesc);
}
}
* EmployeeType.java
*
* This file was auto-generated from WSDL
* by the Apache Axis #axisVersion# #today# WSDL2Java emitter.
*/
package com.packtpub.service.employee;
public class EmployeeType implements java.io.Serializable ... {
private java.lang.String firstName;
private java.lang.String lastName;
private java.lang.String departement;
public EmployeeType() ...{
}
public EmployeeType(
java.lang.String firstName,
java.lang.String lastName,
java.lang.String departement) ...{
this.firstName = firstName;
this.lastName = lastName;
this.departement = departement;
}
/** *//**
* Gets the firstName value for this EmployeeType.
*
* @return firstName
*/
public java.lang.String getFirstName() ...{
return firstName;
}
/** *//**
* Sets the firstName value for this EmployeeType.
*
* @param firstName
*/
public void setFirstName(java.lang.String firstName) ...{
this.firstName = firstName;
}
/** *//**
* Gets the lastName value for this EmployeeType.
*
* @return lastName
*/
public java.lang.String getLastName() ...{
return lastName;
}
/** *//**
* Sets the lastName value for this EmployeeType.
*
* @param lastName
*/
public void setLastName(java.lang.String lastName) ...{
this.lastName = lastName;
}
/** *//**
* Gets the departement value for this EmployeeType.
*
* @return departement
*/
public java.lang.String getDepartement() ...{
return departement;
}
/** *//**
* Sets the departement value for this EmployeeType.
*
* @param departement
*/
public void setDepartement(java.lang.String departement) ...{
this.departement = departement;
}
private java.lang.Object __equalsCalc = null;
public synchronized boolean equals(java.lang.Object obj) ...{
if (!(obj instanceof EmployeeType)) return false;
EmployeeType other = (EmployeeType) obj;
if (obj == null) return false;
if (this == obj) return true;
if (__equalsCalc != null) ...{
return (__equalsCalc == obj);
}
__equalsCalc = obj;
boolean _equals;
_equals = true &&
((this.firstName==null && other.getFirstName()==null) ||
(this.firstName!=null &&
this.firstName.equals(other.getFirstName()))) &&
((this.lastName==null && other.getLastName()==null) ||
(this.lastName!=null &&
this.lastName.equals(other.getLastName()))) &&
((this.departement==null && other.getDepartement()==null) ||
(this.departement!=null &&
this.departement.equals(other.getDepartement())));
__equalsCalc = null;
return _equals;
}
private boolean __hashCodeCalc = false;
public synchronized int hashCode() ...{
if (__hashCodeCalc) ...{
return 0;
}
__hashCodeCalc = true;
int _hashCode = 1;
if (getFirstName() != null) ...{
_hashCode += getFirstName().hashCode();
}
if (getLastName() != null) ...{
_hashCode += getLastName().hashCode();
}
if (getDepartement() != null) ...{
_hashCode += getDepartement().hashCode();
}
__hashCodeCalc = false;
return _hashCode;
}
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc =
new org.apache.axis.description.TypeDesc(EmployeeType.class, true);
static ...{
typeDesc.setXmlType(new javax.xml.namespace.QName("http://packtpub.com/service/employee/", "EmployeeType"));
org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("firstName");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/employee/", "FirstName"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("lastName");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/employee/", "LastName"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("departement");
elemField.setXmlName(new javax.xml.namespace.QName("http://packtpub.com/service/employee/", "Departement"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
}
/** *//**
* Return type metadata object
*/
public static org.apache.axis.description.TypeDesc getTypeDesc() ...{
return typeDesc;
}
/** *//**
* Get Custom Serializer
*/
public static org.apache.axis.encoding.Serializer getSerializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) ...{
return
new org.apache.axis.encoding.ser.BeanSerializer(
_javaType, _xmlType, typeDesc);
}
/** *//**
* Get Custom Deserializer
*/
public static org.apache.axis.encoding.Deserializer getDeserializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) ...{
return
new org.apache.axis.encoding.ser.BeanDeserializer(
_javaType, _xmlType, typeDesc);
}
}
调用相应的Web服务。以下是一个调用航空售票流程的例子。
import
java.net.URL;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import com.packtpub.service.airline. * ;
import com.packtpub.service.employee. * ;
import javax.xml.namespace.QName;
import org.apache.axis.encoding.ser.BeanDeserializerFactory;
import org.apache.axis.encoding.ser.BeanSerializerFactory;
public class AirLineUse ... {
public static void main(String args[])
...{
try
...{
AriLineUse client = new AriLineUse();
client.run();
}
catch(Exception e)
...{
e.printStackTrace();
}
}
public void run()
throws Exception
...{
//创建一个Call的实例,并配置相应的参数
Call call = createCall();
try
...{
/**//*创建输入参数的实例,在本例中,调用的Operation是TravelApprovalPT(Port Type)中的TravelApproval,输入的Massage是trv:TravelRequestMessage,输出的Message是aln:TravelResponseMessage(消息的定义参考相应的wsdl)*/
EmployeeType et = new EmployeeType("d","dd","spk");
FlightRequestType frt = new FlightRequestType("bj","sh",new java.util.Date(),new java.util.Date());
//调用web服务,并接受返回的数值
FlightConfirmationType fct = (FlightConfirmationType)call.invoke(new Object[] ...{et,frt});
System.out.println("Here is the response from the AirLine : ");
System.out.println(" FlightNo : " + fct.getFlightNo());
System.out.println(" TravelClass : " + fct.getTravelClass());
System.out.println(" Price : " + fct.getPrice());
System.out.println(" DepartureDateTime : " + fct.getDepartureDateTime().getTime().toString());
System.out.println(" ReturnDateTime : " + fct.getReturnDateTime().getTime().toString());
System.out.println(" Approved : " + (fct.isApproved() == true?"yes":"no"));
}
catch(Exception e)
...{
System.out.println("unexpected exception seen: " + e.toString());
}
}
//创建一个Call 的实例用于调用相应的web服务
protected Call createCall()
throws Exception
...{
Service service = new Service();
Call call = (Call)service.createCall();
//WebService的URL
String urlString = "http://localhost:8085/active-bpel/services/clientService";
call.setTargetEndpointAddress(new URL(urlString));
//需要调用的PortType中的Operation
call.setOperationName("TravelApproval");
//为每个ComplexType定义相应的Qualified Name
QName qq = new QName("http://packtpub.com/service/employee/","EmployeeType");
QName frt = new QName("http://packtpub.com/service/airline/","FlightRequestType");
QName fct = new QName("http://packtpub.com/service/airline/","FlightConfirmationType");
//将定义的Type注册到call中,同时生成并注册构造器和反构造器。
call.registerTypeMapping(EmployeeType.class,qq,
new BeanSerializerFactory(EmployeeType.class, qq),
new BeanDeserializerFactory(EmployeeType.class, qq) );
call.registerTypeMapping(FlightRequestType.class,frt,
new BeanSerializerFactory(FlightRequestType.class, frt),
new BeanDeserializerFactory(FlightRequestType.class, frt) );
call.registerTypeMapping(FlightConfirmationType.class,fct,
new BeanSerializerFactory(FlightConfirmationType.class, fct),
new BeanDeserializerFactory ( FlightConfirmationType.class , fct) );
//设置参数类型和返回值类型
call.addParameter("employee", qq, ParameterMode.IN);
call.addParameter("flightData", frt, ParameterMode.IN);
call.setReturnType(fct);
return call;
}
}
import javax.xml.rpc.ParameterMode;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import com.packtpub.service.airline. * ;
import com.packtpub.service.employee. * ;
import javax.xml.namespace.QName;
import org.apache.axis.encoding.ser.BeanDeserializerFactory;
import org.apache.axis.encoding.ser.BeanSerializerFactory;
public class AirLineUse ... {
public static void main(String args[])
...{
try
...{
AriLineUse client = new AriLineUse();
client.run();
}
catch(Exception e)
...{
e.printStackTrace();
}
}
public void run()
throws Exception
...{
//创建一个Call的实例,并配置相应的参数
Call call = createCall();
try
...{
/**//*创建输入参数的实例,在本例中,调用的Operation是TravelApprovalPT(Port Type)中的TravelApproval,输入的Massage是trv:TravelRequestMessage,输出的Message是aln:TravelResponseMessage(消息的定义参考相应的wsdl)*/
EmployeeType et = new EmployeeType("d","dd","spk");
FlightRequestType frt = new FlightRequestType("bj","sh",new java.util.Date(),new java.util.Date());
//调用web服务,并接受返回的数值
FlightConfirmationType fct = (FlightConfirmationType)call.invoke(new Object[] ...{et,frt});
System.out.println("Here is the response from the AirLine : ");
System.out.println(" FlightNo : " + fct.getFlightNo());
System.out.println(" TravelClass : " + fct.getTravelClass());
System.out.println(" Price : " + fct.getPrice());
System.out.println(" DepartureDateTime : " + fct.getDepartureDateTime().getTime().toString());
System.out.println(" ReturnDateTime : " + fct.getReturnDateTime().getTime().toString());
System.out.println(" Approved : " + (fct.isApproved() == true?"yes":"no"));
}
catch(Exception e)
...{
System.out.println("unexpected exception seen: " + e.toString());
}
}
//创建一个Call 的实例用于调用相应的web服务
protected Call createCall()
throws Exception
...{
Service service = new Service();
Call call = (Call)service.createCall();
//WebService的URL
String urlString = "http://localhost:8085/active-bpel/services/clientService";
call.setTargetEndpointAddress(new URL(urlString));
//需要调用的PortType中的Operation
call.setOperationName("TravelApproval");
//为每个ComplexType定义相应的Qualified Name
QName qq = new QName("http://packtpub.com/service/employee/","EmployeeType");
QName frt = new QName("http://packtpub.com/service/airline/","FlightRequestType");
QName fct = new QName("http://packtpub.com/service/airline/","FlightConfirmationType");
//将定义的Type注册到call中,同时生成并注册构造器和反构造器。
call.registerTypeMapping(EmployeeType.class,qq,
new BeanSerializerFactory(EmployeeType.class, qq),
new BeanDeserializerFactory(EmployeeType.class, qq) );
call.registerTypeMapping(FlightRequestType.class,frt,
new BeanSerializerFactory(FlightRequestType.class, frt),
new BeanDeserializerFactory(FlightRequestType.class, frt) );
call.registerTypeMapping(FlightConfirmationType.class,fct,
new BeanSerializerFactory(FlightConfirmationType.class, fct),
new BeanDeserializerFactory ( FlightConfirmationType.class , fct) );
//设置参数类型和返回值类型
call.addParameter("employee", qq, ParameterMode.IN);
call.addParameter("flightData", frt, ParameterMode.IN);
call.setReturnType(fct);
return call;
}
}