You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by mm...@apache.org on 2007/09/04 13:44:51 UTC
svn commit: r572631 - in /incubator/cxf/trunk/tools/wsdlto:
frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/
test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/
test/src/test/resources/wsdl2java_wsdl/
Author: mmao
Date: Tue Sep 4 04:44:50 2007
New Revision: 572631
URL: http://svn.apache.org/viewvc?rev=572631&view=rev
Log:
CXF-967
* Fix the NPE in case of parameter ordering and no output message
Added:
incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/bug967.wsdl
Modified:
incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java
incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java
Modified: incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java?rev=572631&r1=572630&r2=572631&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java (original)
+++ incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java Tue Sep 4 04:44:50 2007
@@ -20,6 +20,7 @@
package org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -28,7 +29,6 @@
import javax.wsdl.OperationType;
import javax.xml.namespace.QName;
-
import org.apache.cxf.common.i18n.Message;
import org.apache.cxf.common.util.StringUtils;
import org.apache.cxf.jaxb.JAXBUtils;
@@ -487,13 +487,20 @@
MessageInfo inputMessage,
MessageInfo outputMessage,
List<String> parameterList) throws ToolException {
-
Map<QName, MessagePartInfo> inputPartsMap = inputMessage.getMessagePartsMap();
- Map<QName, MessagePartInfo> outputPartsMap = outputMessage.getMessagePartsMap();
+ Map<QName, MessagePartInfo> outputPartsMap = new HashMap<QName, MessagePartInfo>();
+
+ if (outputMessage != null) {
+ outputPartsMap = outputMessage.getMessagePartsMap();
+ }
List<MessagePartInfo> inputParts = inputMessage.getMessageParts();
- List<MessagePartInfo> outputParts = outputMessage.getMessageParts();
+ List<MessagePartInfo> outputParts = new ArrayList<MessagePartInfo>();
+
+ if (outputMessage != null) {
+ outputMessage.getMessageParts();
+ }
List<MessagePartInfo> inputUnlistedParts = new ArrayList<MessagePartInfo>();
List<MessagePartInfo> outputUnlistedParts = new ArrayList<MessagePartInfo>();
@@ -521,6 +528,8 @@
} else {
processReturn(method, null);
}
+ } else {
+ processReturn(method, null);
}
// now create list of paramModel with parts
@@ -573,7 +582,11 @@
Iterator<String> params = parameterOrder.iterator();
List<MessagePartInfo> inputParts = inputMessage.getMessageParts();
- List<MessagePartInfo> outputParts = outputMessage.getMessageParts();
+ List<MessagePartInfo> outputParts = new ArrayList<MessagePartInfo>();
+
+ if (outputMessage != null) {
+ outputParts = outputMessage.getMessageParts();
+ }
boolean partFound = false;
Modified: incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java?rev=572631&r1=572630&r2=572631&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java (original)
+++ incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java Tue Sep 4 04:44:50 2007
@@ -665,4 +665,16 @@
assertEquals(msg.toString().trim(), e.getMessage().trim());
}
}
+
+ @Test
+ public void testParamterOrderNoOutputMessage() throws Exception {
+ try {
+ env.put(ToolConstants.CFG_WSDLURL,
+ getLocation("/wsdl2java_wsdl/bug967.wsdl"));
+ processor.setContext(env);
+ processor.execute();
+ } catch (Exception e) {
+ fail("The cxf967.wsdl is a valid wsdl, should pass the test, caused by: " + e.getMessage());
+ }
+ }
}
Added: incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/bug967.wsdl
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/bug967.wsdl?rev=572631&view=auto
==============================================================================
--- incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/bug967.wsdl (added)
+++ incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/bug967.wsdl Tue Sep 4 04:44:50 2007
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+
+<wsdl:definitions name="VoidVoid" targetNamespace="http://apache.org/hello_world_rpclit/voidvoid"
+ 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://apache.org/hello_world_rpclit/voidvoid"
+ xmlns:x1="http://apache.org/hello_world_rpclit/voidvoid/types"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <wsdl:message name="sayHiRequest">
+ <wsdl:part name="inInt" type="xsd:int"/>
+ </wsdl:message>
+
+ <wsdl:portType name="GreeterRPCLit">
+ <wsdl:operation name="sayHi" parameterOrder="inInt">
+ <wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
+ </wsdl:operation>
+ </wsdl:portType>
+
+ <wsdl:binding name="Greeter_SOAPBinding_RPCLit" type="tns:GreeterRPCLit">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="sayHi">
+ <soap:operation soapAction="" style="rpc"/>
+ <wsdl:input>
+ <soap:body namespace="http://apache.org/hello_world_rpclit/voidvoid" use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body namespace="http://apache.org/hello_world_rpclit/voidvoid" use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ </wsdl:binding>
+
+ <wsdl:service name="SOAPServiceRPCLit">
+ <wsdl:port binding="tns:Greeter_SOAPBinding_RPCLit" name="SoapPortRPCLit">
+ <soap:address location="http://localhost:9000/SoapContext/SoapPort"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
Re: svn commit: r572631 - in /incubator/cxf/trunk/tools/wsdlto:
frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/
test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/
test/src/test/resources/wsdl2java_wsdl/
Posted by Glen Mazza <gl...@verizon.net>.
Am Dienstag, den 04.09.2007, 11:44 +0000 schrieb mmao@apache.org:
> Author: mmao
> Date: Tue Sep 4 04:44:50 2007
> New Revision: 572631
>
> Modified:
> incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java
> URL:
> http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java?rev=572631&r1=572630&r2=572631&view=diff
> ==============================================================================
> ---
> incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java (original)
> +++
> incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java Tue Sep 4 04:44:50 2007
> @@ -665,4 +665,16 @@
> assertEquals(msg.toString().trim(),
> e.getMessage().trim());
> }
> }
> +
> + @Test
> + public void testParamterOrderNoOutputMessage() throws Exception {
Needs to be "Parameter".
Glen