Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SPRING WEB SERVICES 2.1.3 is not generating content type as application/xop+xml for MTOM. [SWS-855] #926

Closed
gregturn opened this issue Dec 6, 2013 · 3 comments
Assignees
Milestone

Comments

@gregturn
Copy link
Member

@gregturn gregturn commented Dec 6, 2013

Govinda Reddy opened SWS-855 and commented

Spring WS isnot generating raw message as below mentioned

Accept-Encoding: gzip,deflate
Content-Type: application/soap+xml;charset=UTF-8;action="urn:ihe:iti:2007:RetrieveDocumentSet"
Content-Length: 1566
Host: 192.168.6.158:9080
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing">
  <!--The following header applies for a Synchronous Web Services Exchange Request 
        Please note that a soap message can only have one header section. -->
  <s:Header>

Any client accessing this web service expects Content-Type as application/xop+xml.

Due to this content type mismatch client is not receiving the response ant throwing error as below mentioned

System.ServiceModel.ProtocolException: The content type application/xop+xml;type="application/soap+xml" of the response message does not match the content type of the binding (multipart/related; type="application/xop+xml"). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly.”

XSD


<xs:element name="DocumentContent" type="xs:base64Binary"/>

Spring config


<bean id="messageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory">
  	
		<description>A message factory to support SOAP 1.2</description>
		<!--  <constructor-arg ref="soapMessageFactory" />		 -->
		<property name="soapVersion">
			<util:constant static-field="org.springframework.ws.soap.SoapVersion.SOAP_12" />
		</property>		
	</bean>

<bean id="messageReceiver"
		class="org.springframework.ws.soap.server.SoapMessageDispatcher">
		<property name="endpointAdapters">
			<bean
				class="org.springframework.ws.server.endpoint.adapter.GenericMarshallingMethodEndpointAdapter">
				<property name="marshaller" ref="marshaller" />
				<property name="unmarshaller" ref="marshaller" />
			</bean>
		</property>
		<property name="endpointMappings" ref="endpointMapping" />
	</bean>


	<bean id="endpointMapping"
		class="org.springframework.ws.soap.addressing.server.AnnotationActionEndpointMapping">
	<!-- 	<property name="messageSenders">
			<bean
				class="org.springframework.ws.transport.http.HttpUrlConnectionMessageSender" />
		</property> -->
		<property name="postInterceptors">
			<list>
							<ref bean="soapEnvelopePayloadInterceptorRef" />
							
			</list>
		</property>

	</bean>


	<bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
		<property name="contextPaths">
			<list>
				<value>package1</value>
				<value> package2</value>
			
			</list>
		</property> 	
		<property name="mtomEnabled" value="true" />

Please let me know how to fix this issue.


Affects: 2.1.3

@gregturn
Copy link
Member Author

@gregturn gregturn commented Feb 6, 2014

Arjen Poutsma commented

I am having problems reproducing this. Can you attach a simple, minimal test case that reproduces this behavior?

@gregturn
Copy link
Member Author

@gregturn gregturn commented Dec 30, 2014

Dustin Clark commented

This is also happening to us in a Grails app and Spring WS 2.2.0. The ContentType header is set correctly while running locally, but running on Weblogic (10.3.6), the header is set to text/xml.

<Dec 30, 2014 12:52:45 PM CST> <Notice> <Stdout> <BEA-000000> <2014-12-30 12:52:45,931 [[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] TRACE MessageTracing.sent  - Sent request [------=_Part_1_370067740.1419965565920
Content-Type: text/xml; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-ID: <soapPart>
2014-12-30 12:43:23,021 [http-bio-8081-exec-14] TRACE MessageTracing.sent  - Sent request [------=_Part_4_1021751216.1419965003018
Content-Type: application/xop+xml; charset=utf-8; type="text/xml"

Can we re-open?

@gregturn
Copy link
Member Author

@gregturn gregturn commented Dec 30, 2014

Dustin Clark commented

Disregard. Pulling in saaj-impl 1.3.23 and preferring application classes for javax.xml.soap.* resolved this issue.

@gregturn gregturn closed this Dec 30, 2014
@gregturn gregturn added this to the 2.2.RC1 milestone Sep 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants