Document/Lit/Bare doesn't work for Java-Frist mode
--------------------------------------------------
Key: CXF-454
URL: https://issues.apache.org/jira/browse/CXF-454
Project: CXF
Issue Type: Bug
Reporter: Johnson Ma
1. Problem: Get exception from server when try to run doc/lib/bare for
JAVA-First mode
2. Test process and files.
generate wsdl from java file, then generate client and server from that wsdl.
Hello.java
package com.iona;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.WebParam;
@SOAPBinding(use=javax.jws.soap.SOAPBinding.Use.LITERAL,
style=javax.jws.soap.SOAPBinding.Style.DOCUMENT,
parameterStyle=javax.jws.soap.SOAPBinding.ParameterStyle.BARE)
@WebService(name="Hello", targetNamespace="http://iona.com/")
public interface Hello {
@WebMethod(operationName="test", exclude=false)
public float test(
@WebParam(targetNamespace="http://iona.com/", name="f1")
float f1,
@WebParam(targetNamespace="http://iona.com/", name="f2")
float f2);
}
Generated Hello.wsdl
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://iona.com/"
xmlns:tns="http://iona.com/" xmlns:ns1="http://iona.com/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<xsd:schema targetNamespace="http://iona.com/" version="1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="f1" type="xs:float"/>
<xs:element name="f2" type="xs:float"/>
<xs:element name="testResponse" type="xs:float"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="testResponse">
<wsdl:part name="return" element="tns:testResponse">
</wsdl:part>
</wsdl:message>
<wsdl:message name="test">
<wsdl:part name="f1" element="tns:f1">
</wsdl:part>
<wsdl:part name="f2" element="tns:f2">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="Hello">
<wsdl:operation name="test">
<wsdl:input name="test" message="tns:test">
</wsdl:input>
<wsdl:output name="testResponse" message="tns:testResponse">
</wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="HelloBinding" type="tns:Hello">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="test">
<soap:operation style="document"/>
<wsdl:input name="test">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="testResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="HelloService">
<wsdl:port name="HelloPort" binding="tns:HelloBinding">
<soap:address location="http://localhost:9000/HelloService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Generated HelloImpl.java when call w2j
/**
* 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.
*/
/**
* Please modify this class to meet your needs
* This class is not complete
*/
package com.iona;
import java.util.logging.Logger;
import javax.jws.WebMethod;
import javax.jws.WebResult;
/**
* This class was generated by the CXF 2.0-incubator-RC-SNAPSHOT
* Fri Mar 09 12:17:19 GMT+08:00 2007
* Generated source version: 2.0-incubator-RC-SNAPSHOT
*
*/
@javax.jws.WebService(name = "Hello", serviceName = "HelloService",
portName = "HelloPort",
targetNamespace = "http://iona.com/",
wsdlLocation =
"file:/C:/Projects/STP/Workspaces/runtime-New_configuration3/JavaFirstRPCWrap/wsdl/com/iona/Hello.wsdl"
,
endpointInterface = "com.iona.Hello")
public class HelloImpl implements Hello {
private static final Logger LOG =
Logger.getLogger(HelloImpl.class.getPackage().getName());
/* (non-Javadoc)
* @see com.iona.Hello#test(float f1 ,)float f2 )*
*/
public float test(
float f1,
float f2
)
{
LOG.info("Executing operation test");
return 0.0f;
}
}
3. Exception
Exception from server:
INFO: Creating Service {http://iona.com/}HelloService from WSDL.
Invoking test...
Exception in thread "main" org.apache.cxf.binding.soap.SoapFault: Message part
{http://iona.com/}f1 was not recognized.
at
org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:70)
at
org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:36)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:168)
at
org.apache.cxf.interceptor.AbstractFaultChainIntiatorObserver.onMessage(AbstractFaultChainIntiatorObserver.java:63)
at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:110)
at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:48)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:168)
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:281)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:654)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.doClose(HTTPConduit.java:614)
at
org.apache.cxf.io.AbstractCachedOutputStream.close(AbstractCachedOutputStream.java:114)
at
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:65)
at
org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:58)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:168)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:152)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:116)
at $Proxy41.test(Unknown Source)
at com.iona.HelloClient.main(HelloClient.java:69)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.