У меня есть WSDL-файл из-за пределов WS, к которому я подключаюсь. И я пытаюсь заставить его работать с CXF (отлично работает с JAX-WS). Но я получаю ошибку от другой системы. Поэтому я решил взглянуть на данные, которые мы отправляем в эту систему, и только различие заключается в том, что CXF устанавливает пустой HTTP-заголовок SOAPAction.Заголовок SoapAction отсутствует при использовании CXF
Я прочитал немного и выглядит так, что только известные решения прямо указывают на WSDL. Но я уже это сделал.
У кого-нибудь есть ключ к этому поводу?
<bean id="object" class="xxx.XxxObject" factory-bean="objectFActory"
factory-method="create"/>
<bean id="objectFActory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
<property name="serviceClass" value="xxx.XxxObject"/>
<property name="wsdlLocation" value="http://blebleble"/>
<property name="address" value="http://blebleble"/>
<property name="username" value="user"/>
<property name="password" value="password"/>
<property name="properties">
<map>
<entry key="javax.xml.ws.session.maintain" value-type="java.lang.Boolean" value="true"/>
</map>
</property>
</bean>
Заголовки:
POST /somepath HTTP/1.1
Content-Type: text/xml; charset=UTF-8
Accept: */*
Authorization: Basic <randomhex>
SOAPAction: ""
User-Agent: Apache CXF 2.7.6
Cache-Control: no-cache
Pragma: no-cache
Host: somehost:8080
Connection: keep-alive
Content-Length: 2791
Что ошибка? – kolossus
_only diffrence - это то, что CXF устанавливает пустой SOAPAction http header_. Был ли запрос, который работал (JAX-WS, я предполагаю), не настроил HTTP-заголовок SOAPAction вообще или не установил его (непустое) значение? –
JaxWS: SOAPAction: «Get» CXF: SOAPAction: «" – mihn