Hi Dan,
 
Thank you very much for your answer. I changed ServerFactoryBean to
to JaxWsServerFactoryBean but after that my service is not created.
Last message I see is :
[qtp20853837-21] INFO 
org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean - Creating 
Service {http://webapp.mycompany.com/}CalculatorService from WSDL: 
http://localhost:8080/webservices/calcService?wsdl
 
And when I try to open  http://localhost:8080/webservices/calcService it doesnt 
answer.
 
Using debugger I found out that program hangs in 
org.apache.cxf.transport.http.URLConnectionHTTPConduit
at line 373 :
                return AccessController.doPrivileged(new 
PrivilegedExceptionAction<Integer>() {
                    @Override
                    public Integer run() throws IOException {
                        return connection.getResponseCode();
                    } });
 
Best regards Alex
  
>Понедельник, 4 мая 2020, 15:34 +03:00 от Daniel Kulp <[email protected]>:
> 
>My gut feeling is that you need to flip:
>
>- ServerFactoryBean factory = new ServerFactoryBean();
>+ JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();
>
>The default ServerFactoryBean would know about all the JAXWS annotations 
>(WebParam, WebService, etc….) and thus is dropping to various defaults which 
>might not match what you are sending since you ARE using JAXWS on the client 
>side.
>
>
>Dan
>
>
> 
>> On May 1, 2020, at 1:01 PM, Alex Sviridov < [email protected] > 
>> wrote:
>>
>>
>> By the way, I did a test project, so, if anyone could make it work
>> I would be very thankful. To run it execute the following commands:
>> git clone  https://github.com/PashaTurok/cxftest.git
>> cd cxftest
>> mvn clean install
>>
>>> Пятница, 1 мая 2020, 13:55 +03:00 от Mark Presling < 
>>> [email protected] >:
>>>
>>> What if you make the name attribute match the param name? Ie, instead of:
>>>
>>> @WebParam(name="value1")
>>>
>>> try:
>>>
>>> @WebParam(name="v1")
>>>
>>> FYI, I’m not part of the project, just looking at what I’ve done in the
>>> past.
>>>
>>> Thanks,
>>> Mark
>>>
>>> On Fri, 1 May 2020 at 19:36, Alex Sviridov <  [email protected] >
>>> wrote:
>>>
>>>>
>>>> Hi Mark,
>>>>
>>>> Thank you very much for your answer. I tried to add @WebParam:
>>>>
>>>> @WebService(name="CalculatorService",
>>>> serviceName="CalculatorService",
>>>> wsdlLocation="http://localhost:8080/webservices/calcService?wsdl";)
>>>> public class CalculatorService {
>>>>
>>>> @WebMethod
>>>> public double addNumbers(@WebParam(name="value1") double v1,
>>>> @WebParam(name="value2") double v2) {
>>>> return v1 + v2;
>>>> }
>>>> }
>>>>
>>>> Here is port dumping:
>>>>
>>>> T 127.0.0.1:53516 -> 127.0.0.1:8080 [AP]
>>>> <soap:Envelope xmlns:soap="  http://schemas.xmlsoap.org/soap/envelope/ 
>>>> "><soap:Body><ns2:addNumbers
>>>> xmlns:ns2="  http://cfx.foo.com/ 
>>>> "><value1>1.2</value1><value2>1.2</value2></ns2:addNumbers></soap:Body></soap:Envelope>
>>>>
>>>> ##
>>>> T 127.0.0.1:8080 -> 127.0.0.1:53516 [AP]
>>>> HTTP/1.1 500 Server Error..Date: Fri, 01 May 2020 07:28:46
>>>> GMT..Content-Type: text/xml;charset=utf-8..Content-Length: 322..Server:
>>>> Jetty(
>>>> 9.4.z-SNAPSHOT)....<soap:Envelope xmlns:soap="
>>>>  http://schemas.xmlsoap.org/soap/envelope/
>>>> "><soap:Body><soap:Fault><faultcode>soap:Server</f
>>>> aultcode><faultstring>null while invoking public double
>>>> com.foo.cfx.CalculatorService.addNumbers(double,double) with params [
>>>> null, null].</faultstring></soap:Fault></soap:Body></soap:Envelope>
>>>>
>>>> Anyway I opened an issue here
>>>>  https://issues.apache.org/jira/browse/CXF-8274
>>>>
>>>> Best regards.
>>>>
>>>>> Пятница, 1 мая 2020, 1:37 +03:00 от Mark Presling <
>>>>  [email protected] >:
>>>>>
>>>>> Try adding @WebParam to the v1 and v2 parameters.
>>>>>
>>>>>
>>>>  
>>>> https://cxf.apache.org/docs/developing-a-service.html#DevelopingaService-AnnotatingtheSEI
>>>>>
>>>>> On Fri, 1 May 2020 at 03:45, Alex Sviridov <  [email protected]
>>>>>
>>>>> wrote:
>>>>>
>>>>>>
>>>>>> Hi all,
>>>>>>
>>>>>> Please help me to run the simplest example with CXF. After spending ten
>>>>>> hours
>>>>>> I still can pass any arguments to my methods.
>>>>>>
>>>>>> This is my service:
>>>>>>
>>>>>> @WebService(name="CalculatorService", serviceName="CalculatorService")
>>>>>> public class CalculatorService {
>>>>>>
>>>>>> @WebMethod
>>>>>> public double addNumbers(double v1, double v2) {
>>>>>> return v1 + v2;
>>>>>> }
>>>>>> }
>>>>>> Upon it I generate using cxf plugin the following wsdl
>>>>>>
>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>> <wsdl:definitions name="CalculatorService" targetNamespace="
>>>>>>  http://cfx.foo.com/ " xmlns:wsdl="  http://schemas.xmlsoap.org/wsdl/ "
>>>>>> xmlns:xsd="  http://www.w3.org/2001/XMLSchema " xmlns:tns="
>>>>>>  http://cfx.foo.com/ " xmlns:soap="
>>>>  http://schemas.xmlsoap.org/wsdl/soap/ ">
>>>>>> <wsdl:types>
>>>>>> <xs:schema xmlns:tns="  http://cfx.foo.com/ " xmlns:xs="
>>>>>>  http://www.w3.org/2001/XMLSchema " elementFormDefault="unqualified"
>>>>>> targetNamespace="  http://cfx.foo.com/ " version="1.0">
>>>>>>
>>>>>> <xs:element name="addNumbers" type="tns:addNumbers"/>
>>>>>>
>>>>>> <xs:element name="addNumbersResponse" type="tns:addNumbersResponse"/>
>>>>>>
>>>>>> <xs:complexType name="addNumbers">
>>>>>> <xs:sequence>
>>>>>> <xs:element name="arg0" type="xs:double"/>
>>>>>> <xs:element name="arg1" type="xs:double"/>
>>>>>> </xs:sequence>
>>>>>> </xs:complexType>
>>>>>>
>>>>>> <xs:complexType name="addNumbersResponse">
>>>>>> <xs:sequence>
>>>>>> <xs:element name="return" type="xs:double"/>
>>>>>> </xs:sequence>
>>>>>> </xs:complexType>
>>>>>>
>>>>>> </xs:schema>
>>>>>> </wsdl:types>
>>>>>> <wsdl:message name="addNumbers">
>>>>>> <wsdl:part name="parameters" element="tns:addNumbers">
>>>>>> </wsdl:part>
>>>>>> </wsdl:message>
>>>>>> <wsdl:message name="addNumbersResponse">
>>>>>> <wsdl:part name="parameters" element="tns:addNumbersResponse">
>>>>>> </wsdl:part>
>>>>>> </wsdl:message>
>>>>>> <wsdl:portType name="CalculatorService">
>>>>>> <wsdl:operation name="addNumbers">
>>>>>> <wsdl:input name="addNumbers" message="tns:addNumbers">
>>>>>> </wsdl:input>
>>>>>> <wsdl:output name="addNumbersResponse"
>>>>>> message="tns:addNumbersResponse">
>>>>>> </wsdl:output>
>>>>>> </wsdl:operation>
>>>>>> </wsdl:portType>
>>>>>> <wsdl:binding name="CalculatorServiceSoapBinding"
>>>>>> type="tns:CalculatorService">
>>>>>> <soap:binding style="document" transport="
>>>>>>  http://schemas.xmlsoap.org/soap/http "/>
>>>>>> <wsdl:operation name="addNumbers">
>>>>>> <soap:operation soapAction="" style="document"/>
>>>>>> <wsdl:input name="addNumbers">
>>>>>> <soap:body use="literal"/>
>>>>>> </wsdl:input>
>>>>>> <wsdl:output name="addNumbersResponse">
>>>>>> <soap:body use="literal"/>
>>>>>> </wsdl:output>
>>>>>> </wsdl:operation>
>>>>>> </wsdl:binding>
>>>>>> <wsdl:service name="CalculatorService">
>>>>>> <wsdl:port name="CalculatorServicePort"
>>>>>> binding="tns:CalculatorServiceSoapBinding">
>>>>>> <soap:address location="http://localhost:9090/CalculatorServicePort
>>>>>> "/>
>>>>>> </wsdl:port>
>>>>>> </wsdl:service>
>>>>>> </wsdl:definitions>
>>>>>>
>>>>>> Upon wsdl I generate java code. When I call my generated services I see
>>>>>> the following
>>>>>>
>>>>>> T 127.0.0.1:33602 -> 127.0.0.1:8080 [AP]
>>>>>> POST /webservices/calcService HTTP/1.1..Content-Type: text/xml;
>>>>>> charset=UTF-8..Accept: */*..SOAPAction: ""..User-Agent: Apache-CXF/
>>>> 3.3.6.
>>>>>> .Cache-Control: no-cache..Pragma: no-cache..Host: 127.0.0.1:8080
>>>> ..Connection:
>>>>>> keep-alive..Content-Length: 218....
>>>>>> ##
>>>>>> T 127.0.0.1:33602 -> 127.0.0.1:8080 [AP]
>>>>>> <soap:Envelope xmlns:soap="  http://schemas.xmlsoap.org/soap/envelope/
>>>> "><soap:Body><ns2:addNumbers
>>>>>> xmlns:ns2="  http://cfx.foo.com/
>>>> "><arg0>1.2</arg0><arg1>1.2</arg1></ns2:addNumbers></soap:Body></soap:Envelope>
>>>>>>
>>>>>> ##
>>>>>> T 127.0.0.1:8080 -> 127.0.0.1:33602 [AP]
>>>>>> HTTP/1.1 500 Server Error..Date: Thu, 30 Apr 2020 15:38:13
>>>>>> GMT..Content-Type: text/xml;charset=utf-8..Content-Length: 322..Server:
>>>>>> Jetty(
>>>>>> 9.4.z-SNAPSHOT)....<soap:Envelope xmlns:soap="
>>>>>>  http://schemas.xmlsoap.org/soap/envelope/
>>>>>> "><soap:Body><soap:Fault><faultcode>soap:Server</f
>>>>>> aultcode><faultstring>null while invoking public double
>>>>>> com.foo.cfx.CalculatorService.addNumbers(double,double) with params [
>>>>>> null,
>>>>>> null].</faultstring></soap:Fault></soap:Body></soap:Envelope>
>>>>>>
>>>>>> #######
>>>>>>
>>>>>> And the following stacktrace:
>>>>>>
>>>>>> org.apache.cxf.interceptor.Fault: null while invoking public double
>>>>>> com.foo.cfx.CalculatorService.addNumbers(double,double) with params
>>>> [null,
>>>>>> null].
>>>>>> at  [email protected]
>>>>>>
>>>> /org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:166)
>>>>>> at  [email protected]
>>>>>>
>>>> /org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:140)
>>>>>> at  [email protected]
>>>>>>
>>>> /org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:74)
>>>>>> at  [email protected]
>>>>>>
>>>> /org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59)
>>>>>> at
>>>>>>
>>>> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
>>>>>> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>>>>>> at  [email protected]
>>>>>>
>>>> /org.apache.cxf.interceptor.ServiceInvokerInterceptor$2.run(ServiceInvokerInterceptor.java:126)
>>>>>> at  [email protected]
>>>>>>
>>>> /org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
>>>>>> at  [email protected]
>>>>>>
>>>> /org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:131)
>>>>>> at  [email protected]
>>>>>>
>>>> /org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
>>>>>> at  [email protected]
>>>>>>
>>>> /org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
>>>>>> at  [email protected]
>>>>>>
>>>> /org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:267)
>>>>>> at  [email protected]
>>>>>>
>>>> /org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234)
>>>>>> at  [email protected]
>>>>>>
>>>> /org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208)
>>>>>> at  [email protected]
>>>>>>
>>>> /org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160)
>>>>>> at  [email protected]
>>>>>>
>>>> /org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:225)
>>>>>> at  [email protected]
>>>>>>
>>>> /org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:301)
>>>>>> at  [email protected]
>>>>>>
>>>> /org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:220)
>>>>>>
>>>>>> I can’t understand why my arguments are ignored. Is there some
>>>> dependency
>>>>>> problems? Then why there is no any exceptions? Please, help me to solve
>>>>>> this problem.
>>>>>>
>>>>>> The question is also asked on SO here
>>>>>>
>>>>  https://stackoverflow.com/questions/61512699/cxf-ignores-method-arguments
>>>>>>
>>>>>> --
>>>>>> Alex Sviridov
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> Mark Presling
>>>>>
>>>>> *Senior Developer / Technical Lead*
>>>>>
>>>>> Argonaut Ltd
>>>>>
>>>>> DDI: (04) 9016504
>>>>> Mobile: 021549540
>>>>> Do you use Outlook? Stop sending me winmail.dat
>>>>> <
>>>>  https://www.lifewire.com/prevent-sending-winmail-dat-attachments-1173717 >
>>>>> files!
>>>>>
>>>>
>>>>
>>>> --
>>>> Alex Sviridov
>>>>
>>> --
>>> Mark Presling
>>>
>>> Senior Developer / Technical Lead
>>>
>>> Argonaut Ltd
>>>
>>> DDI: (04) 9016504
>>> Mobile: 021549540
>>>
>>
>>
>> --
>> Alex Sviridov
>>
>--
>Daniel Kulp
>[email protected] <mailto:[email protected]> -  http://dankulp.com/blog < 
>http://dankulp.com/blog >
>Talend Community Coder -  http://talend.com < http://coders.talend.com/ >
>  
 
 
--
Alex Sviridov
 

Reply via email to