Author: dkulp Date: Fri Mar 13 13:16:18 2009 New Revision: 753233 URL: http://svn.apache.org/viewvc?rev=753233&view=rev Log: Merged revisions 753205 via svnmerge from https://svn.apache.org/repos/asf/cxf/trunk
........ r753205 | dkulp | 2009-03-13 07:18:26 -0400 (Fri, 13 Mar 2009) | 2 lines [CXF-2054] Fix problems with async method code generation ........ Modified: cxf/branches/2.1.x-fixes/ (props changed) cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/catalog/CatalogWSDLLocator.java cxf/branches/2.1.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaParameter.java cxf/branches/2.1.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/customization/CustomizationParser.java cxf/branches/2.1.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/OperationProcessor.java cxf/branches/2.1.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ServiceProcessor.java cxf/branches/2.1.x-fixes/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/hello_world_async.wsdl Propchange: cxf/branches/2.1.x-fixes/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Mar 13 13:16:18 2009 @@ -1 +1 @@ -/cxf/trunk:686333-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102,688133,688596,688735,688870,689572,689596,689855,689924,690067,690289,691246,691271,691295,691338,691355,691488,691602,691646,691706,691728,692116,692157,692310,692466,692499,693653,693819,694179,694263,694417,694716,694744,694747,694795,694869,694981,694987,694993,695041,695096,695396,695484,695537,695552,695561,695619,695684,695835,695840,695868,695935,695977,696016,696094,696433,696720,697085,697868,698128,699289,700261,700507,700602,700981,701316,701783,701830,701862,702187,702205-702248,702267,702547,702561,702580,702602,702609,702616,702653,702656,702957,703191,703239,703309,703501,703513,703548,704584,704937,704997,705150,705235,705274,705340,705446,705548,705614,705692,705708,706482,706631,706675,706900,706909,707034,707089,707100,707902,708035,708044,708074,708410,708417,708550,708554,709353-709354,709425,710076,710150,71015 4,711193,711388,711410,711490,711635,711949,711975,712194,712198,712238,712272,712299,712312,712670,712893,713082,713095-713096,713099,713584,713597,713737,713804,713899,714167-714168,714245,714255,717937-717961,718281-718448,718565,718620,718640,718665,718970,719017,719210,719215-719218,719222-719273,719305,719327-719680,720053,720119-720218,720238,720293-720316,720497,721221,721241,721501,722117,722129,722412,722988,723024,723338,723378,723716-723791,724333-724372,724433-724438,724449,724481,724485,724668,724780,724782,724785,724793,724795,724940,725071,725316,725332,725335,725348,725364,725418,725425-725426,725455,725506,725554,725562,725651,725671,725688,725754,725773,725799,725839,726342,726524,726631,726634,726637,726639,726692,726724,726769,726992,727096,727445,727521,727568,727692,727754,727781,727792,728070,728087,728696,728897,729051,729430,729449,729460,729863,730082,730139,730889,730891,731598,731604,731615,731631,731635,732036,732050,732320,732363,732411,732450, 732710,732773,732827,732829,733512,733582,733901,734367,734462,734666,734762,734772,734812,734836,734965,735113,735252,735722-735723,735729,735734,735751,735782,735787,735987,736332,736343,736352,736358-736362,736408,736423,736448,736491,736621,736726,736736,736738-736739,736766,736825,736852,737032,737046,737061,737069,737124,737237,737246,737299,737356,737494,737498,737761,737817,737849,737855,737994,738166,738178,738201,738210,738242,738244,738265,738516,738583,738863,738937,738983,739366-739367,739451-739452,739799-739800,739867,739876-739877,739922,739937,739990,740045,740108,740154,740186,740197,740255,740706,740730,740810,740844,740886,740902,740923,740994,741058,741124,741152,741188,741521,741529,741879,742914,743087,743439,743441,743459,743469,743965,743967,744175,744195,744237,744756,745214,745243,745560,745578,745586,745592,745638,745950,746012,746019-746020,746256,746266,746306,746357,746373-746374,747217,747386,747406,747454,747649,747766,747986,748159,748192,74 8223,748305,748313,748603-748604,748768,749420,749449,749454-749456,749505,749511,749513,749584,749767,749771,749799,749890,750059-750060,750302,750591,750689,750935,751067-751110,751233,751527,751567,751576,751607,751732,751740,751787,751828,751840,751972-751974,752122,752132,752136,752558,752613,752680,752728,752753,752849,752880-752881,752883,752961,752992 +/cxf/trunk:686333-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102,688133,688596,688735,688870,689572,689596,689855,689924,690067,690289,691246,691271,691295,691338,691355,691488,691602,691646,691706,691728,692116,692157,692310,692466,692499,693653,693819,694179,694263,694417,694716,694744,694747,694795,694869,694981,694987,694993,695041,695096,695396,695484,695537,695552,695561,695619,695684,695835,695840,695868,695935,695977,696016,696094,696433,696720,697085,697868,698128,699289,700261,700507,700602,700981,701316,701783,701830,701862,702187,702205-702248,702267,702547,702561,702580,702602,702609,702616,702653,702656,702957,703191,703239,703309,703501,703513,703548,704584,704937,704997,705150,705235,705274,705340,705446,705548,705614,705692,705708,706482,706631,706675,706900,706909,707034,707089,707100,707902,708035,708044,708074,708410,708417,708550,708554,709353-709354,709425,710076,710150,71015 4,711193,711388,711410,711490,711635,711949,711975,712194,712198,712238,712272,712299,712312,712670,712893,713082,713095-713096,713099,713584,713597,713737,713804,713899,714167-714168,714245,714255,717937-717961,718281-718448,718565,718620,718640,718665,718970,719017,719210,719215-719218,719222-719273,719305,719327-719680,720053,720119-720218,720238,720293-720316,720497,721221,721241,721501,722117,722129,722412,722988,723024,723338,723378,723716-723791,724333-724372,724433-724438,724449,724481,724485,724668,724780,724782,724785,724793,724795,724940,725071,725316,725332,725335,725348,725364,725418,725425-725426,725455,725506,725554,725562,725651,725671,725688,725754,725773,725799,725839,726342,726524,726631,726634,726637,726639,726692,726724,726769,726992,727096,727445,727521,727568,727692,727754,727781,727792,728070,728087,728696,728897,729051,729430,729449,729460,729863,730082,730139,730889,730891,731598,731604,731615,731631,731635,732036,732050,732320,732363,732411,732450, 732710,732773,732827,732829,733512,733582,733901,734367,734462,734666,734762,734772,734812,734836,734965,735113,735252,735722-735723,735729,735734,735751,735782,735787,735987,736332,736343,736352,736358-736362,736408,736423,736448,736491,736621,736726,736736,736738-736739,736766,736825,736852,737032,737046,737061,737069,737124,737237,737246,737299,737356,737494,737498,737761,737817,737849,737855,737994,738166,738178,738201,738210,738242,738244,738265,738516,738583,738863,738937,738983,739366-739367,739451-739452,739799-739800,739867,739876-739877,739922,739937,739990,740045,740108,740154,740186,740197,740255,740706,740730,740810,740844,740886,740902,740923,740994,741058,741124,741152,741188,741521,741529,741879,742914,743087,743439,743441,743459,743469,743965,743967,744175,744195,744237,744756,745214,745243,745560,745578,745586,745592,745638,745950,746012,746019-746020,746256,746266,746306,746357,746373-746374,747217,747386,747406,747454,747649,747766,747986,748159,748192,74 8223,748305,748313,748603-748604,748768,749420,749449,749454-749456,749505,749511,749513,749584,749767,749771,749799,749890,750059-750060,750302,750591,750689,750935,751067-751110,751233,751527,751567,751576,751607,751732,751740,751787,751828,751840,751972-751974,752122,752132,752136,752558,752613,752680,752728,752753,752849,752880-752881,752883,752961,752992,753205 Propchange: cxf/branches/2.1.x-fixes/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/catalog/CatalogWSDLLocator.java URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/catalog/CatalogWSDLLocator.java?rev=753233&r1=753232&r2=753233&view=diff ============================================================================== --- cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/catalog/CatalogWSDLLocator.java (original) +++ cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/catalog/CatalogWSDLLocator.java Fri Mar 13 13:16:18 2009 @@ -56,8 +56,8 @@ } public InputSource getBaseInputSource() { - InputSource result = resolver.resolve(baseUri, null); - if (result == null && catalogResolver != null) { + InputSource result = null; + if (catalogResolver != null) { try { String s = catalogResolver.resolveSystem(baseUri); if (s != null) { @@ -69,6 +69,9 @@ //ignore } } + if (result == null) { + result = resolver.resolve(baseUri, null); + } if (wsdlUrl == null && result != null) { wsdlUrl = result.getSystemId(); Modified: cxf/branches/2.1.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaParameter.java URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaParameter.java?rev=753233&r1=753232&r2=753233&view=diff ============================================================================== --- cxf/branches/2.1.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaParameter.java (original) +++ cxf/branches/2.1.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaParameter.java Fri Mar 13 13:16:18 2009 @@ -71,7 +71,9 @@ public JAnnotation getAnnotation(String tag) { return annotations.get(tag); } - + public Collection<String> getAnnotationTags() { + return this.annotations.keySet(); + } public Collection<JAnnotation> getAnnotations() { return this.annotations.values(); Modified: cxf/branches/2.1.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/customization/CustomizationParser.java URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/customization/CustomizationParser.java?rev=753233&r1=753232&r2=753233&view=diff ============================================================================== --- cxf/branches/2.1.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/customization/CustomizationParser.java (original) +++ cxf/branches/2.1.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/customization/CustomizationParser.java Fri Mar 13 13:16:18 2009 @@ -130,6 +130,9 @@ } public Element getTargetNode(String uri) { + if (uri.equals(wsdlURL) && wsdlNode != null) { + return wsdlNode; + } Document doc = null; InputStream ins = null; Modified: cxf/branches/2.1.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/OperationProcessor.java URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/OperationProcessor.java?rev=753233&r1=753232&r2=753233&view=diff ============================================================================== --- cxf/branches/2.1.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/OperationProcessor.java (original) +++ cxf/branches/2.1.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/OperationProcessor.java Fri Mar 13 13:16:18 2009 @@ -20,7 +20,6 @@ package org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal; import java.util.Collection; -import java.util.Iterator; import java.util.List; import java.util.logging.Level; @@ -178,7 +177,9 @@ } private boolean isAsyncMethod(JavaMethod method) { - if (method.getName().endsWith(ToolConstants.ASYNC_METHOD_SUFFIX)) { + if (method.getName().endsWith(ToolConstants.ASYNC_METHOD_SUFFIX) + && method.getReturn() != null + && method.getReturn().getClassName() != null) { if (method.getReturn().getClassName().startsWith("Response<")) { return true; } else if (method.getParameterCount() > 0 @@ -217,15 +218,40 @@ callbackMethod.addAnnotation("RequestWrapper", method.getAnnotationMap().get("RequestWrapper")); callbackMethod.addAnnotation("SOAPBinding", method.getAnnotationMap().get("SOAPBinding")); - for (Iterator iter = method.getParameters().iterator(); iter.hasNext();) { - callbackMethod.addParameter((JavaParameter)iter.next()); + boolean convertOutToAsync = !method.isWrapperStyle() + && "void".equals(method.getReturn().getClassName()); + String asyncCname = null; + for (JavaParameter param : method.getParameters()) { + if (convertOutToAsync) { + if (param.isHolder()) { + if (param.isINOUT()) { + JavaParameter p2 = new JavaParameter(); + + p2.setName(param.getName()); + p2.setClassName(param.getHolderName()); + p2.setStyle(JavaType.Style.IN); + callbackMethod.addParameter(p2); + for (String s : param.getAnnotationTags()) { + JAnnotation ann = param.getAnnotation(s); + p2.addAnnotation(s, ann); + } + } else if (!param.isHeader() && asyncCname == null) { + asyncCname = param.getClassName(); + } + } else { + callbackMethod.addParameter(param); + } + } else { + callbackMethod.addParameter(param); + } } - JavaParameter asyncHandler = new JavaParameter(); asyncHandler.setName("asyncHandler"); asyncHandler.setCallback(true); - asyncHandler.setClassName(getAsyncClassName(method, "AsyncHandler")); + asyncHandler.setClassName(getAsyncClassName(method, + "AsyncHandler", + asyncCname)); asyncHandler.setStyle(JavaType.Style.IN); callbackMethod.addParameter(asyncHandler); @@ -248,8 +274,37 @@ pollingMethod.setSoapAction(method.getSoapAction()); pollingMethod.setOperationName(method.getOperationName()); + + boolean convertOutToAsync = !method.isWrapperStyle() + && "void".equals(method.getReturn().getClassName()); + String asyncCname = null; + for (JavaParameter param : method.getParameters()) { + if (convertOutToAsync) { + if (param.isHolder()) { + if (param.isINOUT()) { + JavaParameter p2 = new JavaParameter(); + + p2.setName(param.getName()); + p2.setClassName(param.getHolderName()); + p2.setStyle(JavaType.Style.IN); + pollingMethod.addParameter(p2); + for (String s : param.getAnnotationTags()) { + JAnnotation ann = param.getAnnotation(s); + p2.addAnnotation(s, ann); + } + } else if (!param.isHeader() && asyncCname == null) { + asyncCname = param.getClassName(); + } + } else { + pollingMethod.addParameter(param); + } + } else { + pollingMethod.addParameter(param); + } + } + JavaReturn response = new JavaReturn(); - response.setClassName(getAsyncClassName(method, "Response")); + response.setClassName(getAsyncClassName(method, "Response", asyncCname)); pollingMethod.setReturn(response); // REVISIT: test the operation name in the annotation @@ -258,25 +313,22 @@ pollingMethod.addAnnotation("ResponseWrapper", method.getAnnotationMap().get("ResponseWrapper")); pollingMethod.addAnnotation("SOAPBinding", method.getAnnotationMap().get("SOAPBinding")); - for (Iterator iter = method.getParameters().iterator(); iter.hasNext();) { - pollingMethod.addParameter((JavaParameter)iter.next()); - } - method.getInterface().addMethod(pollingMethod); } - private String getAsyncClassName(JavaMethod method, String clzName) { - String response; - if (wrapperResponse != null) { - response = wrapperResponse.getClassName(); - } else { - response = method.getReturn().getClassName(); - } - Class<?> mappedClass = JAXBUtils.holderClass(response); - if (mappedClass != null) { - response = mappedClass.getName(); + private String getAsyncClassName(JavaMethod method, String clzName, String name) { + String response = name; + if (response == null) { + if (wrapperResponse != null) { + response = wrapperResponse.getClassName(); + } else { + response = method.getReturn().getClassName(); + } + Class<?> mappedClass = JAXBUtils.holderClass(response); + if (mappedClass != null) { + response = mappedClass.getName(); + } } - StringBuffer sb = new StringBuffer(); sb.append(clzName); sb.append("<"); Modified: cxf/branches/2.1.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ServiceProcessor.java URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ServiceProcessor.java?rev=753233&r1=753232&r2=753233&view=diff ============================================================================== --- cxf/branches/2.1.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ServiceProcessor.java (original) +++ cxf/branches/2.1.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ServiceProcessor.java Fri Mar 13 13:16:18 2009 @@ -454,7 +454,8 @@ found = true; } } - if (jm.getReturn().getName().equals(soapHeader.getPart())) { + if (jm.getReturn().getName() != null + && jm.getReturn().getName().equals(soapHeader.getPart())) { found = true; } if (Boolean.valueOf((String)context.get(ToolConstants.CFG_EXTRA_SOAPHEADER)) Modified: cxf/branches/2.1.x-fixes/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/hello_world_async.wsdl URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/hello_world_async.wsdl?rev=753233&r1=753232&r2=753233&view=diff ============================================================================== --- cxf/branches/2.1.x-fixes/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/hello_world_async.wsdl (original) +++ cxf/branches/2.1.x-fixes/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/hello_world_async.wsdl Fri Mar 13 13:16:18 2009 @@ -17,92 +17,164 @@ specific language governing permissions and limitations under the License. --> -<wsdl:definitions - xmlns="http://schemas.xmlsoap.org/wsdl/" - xmlns:http-conf="http://schemas.iona.com/transports/http/configuration" - xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" - xmlns:tns="http://cxf.apache.org/w2j/hello_world_async_soap_http" - xmlns:x1="http://cxf.apache.org/w2j/hello_world_async_soap_http/types" - xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" +<wsdl:definitions + xmlns="http://schemas.xmlsoap.org/wsdl/" + xmlns:http-conf="http://schemas.iona.com/transports/http/configuration" + xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://cxf.apache.org/w2j/hello_world_async_soap_http" + xmlns:x1="http://cxf.apache.org/w2j/hello_world_async_soap_http/types" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:jaxws="http://java.sun.com/xml/ns/jaxws" - targetNamespace="http://cxf.apache.org/w2j/hello_world_async_soap_http" + targetNamespace="http://cxf.apache.org/w2j/hello_world_async_soap_http" name="HelloWorld"> <jaxws:bindings> - <jaxws:enableAsyncMapping>true</jaxws:enableAsyncMapping> + <jaxws:enableAsyncMapping>true</jaxws:enableAsyncMapping> </jaxws:bindings> <wsdl:types> - <schema - targetNamespace="http://cxf.apache.org/w2j/hello_world_async_soap_http/types" - xmlns="http://www.w3.org/2001/XMLSchema" - xmlns:x1="http://cxf.apache.org/w2j/hello_world_async_soap_http/types" - elementFormDefault="qualified"> - <element name="greetMeSometime"> - <complexType> - <sequence> - <element name="requestType" type="xsd:string"/> - </sequence> - </complexType> - </element> - <element name="greetMeSometimeResponse"> - <complexType> - <sequence> - <element name="responseType" type="xsd:string"/> - </sequence> - </complexType> - </element> - <element name="testInt" type="xsd:int"/> - <element name="testIntResponse" type="xsd:int"/> - </schema> + <schema + targetNamespace="http://cxf.apache.org/w2j/hello_world_async_soap_http/types" + xmlns="http://www.w3.org/2001/XMLSchema" + xmlns:x1="http://cxf.apache.org/w2j/hello_world_async_soap_http/types" + elementFormDefault="qualified"> + <element name="greetMeSometime"> + <complexType> + <sequence> + <element name="requestType" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="greetMeSometimeResponse"> + <complexType> + <sequence> + <element name="responseType" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="greetMeWithHeader"> + <complexType> + <sequence> + <element name="requestType" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="greetMeWithHeaderResponse"> + <complexType> + <sequence> + <element name="responseType" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="greetMeAsync"> + <complexType> + <sequence> + <element name="requestType" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="greetMeAsyncResponse"> + <complexType> + <sequence> + <element name="responseType" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="header" type="xsd:int"/> + <element name="testInt" type="xsd:int"/> + <element name="testIntResponse" type="xsd:int"/> + </schema> </wsdl:types> <wsdl:message name="greetMeSometimeRequest"> - <wsdl:part name="in" element="x1:greetMeSometime"/> + <wsdl:part name="in" element="x1:greetMeSometime"/> </wsdl:message> <wsdl:message name="greetMeSometimeResponse"> - <wsdl:part name="out" element="x1:greetMeSometimeResponse"/> + <wsdl:part name="out" element="x1:greetMeSometimeResponse"/> + </wsdl:message> + <wsdl:message name="greetMeWithHeaderRequest"> + <wsdl:part name="in" element="x1:greetMeWithHeader"/> + </wsdl:message> + <wsdl:message name="greetMeWithHeaderResponse"> + <wsdl:part name="out" element="x1:greetMeWithHeaderResponse"/> + <wsdl:part name="header" element="x1:header"/> + </wsdl:message> + <wsdl:message name="HEADER"> + <wsdl:part name="header" element="x1:header"/> + </wsdl:message> + <wsdl:message name="greetMeAsync"> + <wsdl:part name="in" element="x1:greetMeAsync"/> + </wsdl:message> + <wsdl:message name="greetMeAsyncResponse"> + <wsdl:part name="out" element="x1:greetMeAsyncResponse"/> </wsdl:message> <wsdl:message name="testIntRequest"> - <wsdl:part name="parameters" element="x1:testInt"></wsdl:part> + <wsdl:part name="parameters" element="x1:testInt"></wsdl:part> </wsdl:message> <wsdl:message name="testIntResponse"> - <wsdl:part name="parameters" element="x1:testIntResponse"></wsdl:part> + <wsdl:part name="parameters" element="x1:testIntResponse"></wsdl:part> </wsdl:message> <wsdl:portType name="GreeterAsync"> - <wsdl:operation name="greetMeSometime"> - <wsdl:input name="greetMeSometimeRequest" message="tns:greetMeSometimeRequest"/> - <wsdl:output name="greetMeSometimeResponse" message="tns:greetMeSometimeResponse"/> - </wsdl:operation> - <wsdl:operation name="testInt"> - <wsdl:input message="tns:testIntRequest"></wsdl:input> - <wsdl:output message="tns:testIntResponse"></wsdl:output> - </wsdl:operation> + <wsdl:operation name="greetMeSometime"> + <wsdl:input name="greetMeSometimeRequest" message="tns:greetMeSometimeRequest"/> + <wsdl:output name="greetMeSometimeResponse" message="tns:greetMeSometimeResponse"/> + </wsdl:operation> + <wsdl:operation name="testInt"> + <wsdl:input message="tns:testIntRequest"></wsdl:input> + <wsdl:output message="tns:testIntResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="greetMeWithHeader"> + <wsdl:input message="tns:greetMeWithHeaderRequest"></wsdl:input> + <wsdl:output message="tns:greetMeWithHeaderResponse"></wsdl:output> + </wsdl:operation> + <wsdl:operation name="greetMeAsync"> + <wsdl:input message="tns:greetMeAsync"></wsdl:input> + <wsdl:output message="tns:greetMeAsyncResponse"></wsdl:output> + </wsdl:operation> </wsdl:portType> <wsdl:binding name="GreeterAsync_SOAPBinding" type="tns:GreeterAsync"> - <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> - <wsdl:operation name="greetMeSometime"> - <soap:operation style="document"/> - <wsdl:input> - <soap:body use="literal"/> - </wsdl:input> - <wsdl:output> - <soap:body use="literal"/> - </wsdl:output> - </wsdl:operation> - <wsdl:operation name="testInt"> - <soap:operation style="document"/> - <wsdl:input> - <soap:body use="literal"/> - </wsdl:input> - <wsdl:output> - <soap:body use="literal"/> - </wsdl:output> - </wsdl:operation> + <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <wsdl:operation name="greetMeSometime"> + <soap:operation style="document"/> + <wsdl:input> + <soap:body use="literal"/> + </wsdl:input> + <wsdl:output> + <soap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="testInt"> + <soap:operation style="document"/> + <wsdl:input> + <soap:body use="literal"/> + </wsdl:input> + <wsdl:output> + <soap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="greetMeWithHeader"> + <soap:operation style="document"/> + <wsdl:input> + <soap:body use="literal" parts="in"/> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" parts="out"/> + <soap:header message="tns:greetMeWithHeaderResponse" part="header" use="literal"/> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="greetMeAsync"> + <soap:operation style="document"/> + <wsdl:input> + <soap:body use="literal"/> + </wsdl:input> + <wsdl:output> + <soap:body use="literal"/> + </wsdl:output> + </wsdl:operation> </wsdl:binding> <wsdl:service name="SOAPService"> - <wsdl:port name="SoapPort" binding="tns:GreeterAsync_SOAPBinding"> - <soap:address location="http://localhost:9000/SoapContext/SoapPort"/> - <http-conf:client/> - <http-conf:server/> - </wsdl:port> + <wsdl:port name="SoapPort" binding="tns:GreeterAsync_SOAPBinding"> + <soap:address location="http://localhost:9000/SoapContext/SoapPort"/> + <http-conf:client/> + <http-conf:server/> + </wsdl:port> </wsdl:service> </wsdl:definitions>