I do not completely understand what you do in your code. What is
systemAuthPol and why do you set it?

The code behind the Negotiate auth type should fetch a session ticket for the server and send it preemptively.
Could you provide a complete sample project?

Christian




Am 04.05.2011 13:40, schrieb Aris Tsaklidis:
upgraded from cxf 2.2.6 to 2.4 to use the SpnegoAuthSupplier. Before I
upgraded I wrote some methods to get a kerberos  ticket and add the
www-authenticate header preemptively to the request.  It was quite dirty
coding but it worked. With the 2.4 release I hoped i  could get it
simplier. I updatet to 2.4 and added the  AuthorizationPolicy, the response
from the WS Server (JBOSS 4.5.1) sends  no content (content-length=0). I
tried to set chunking to false and to  true. Also if I use my original code
(that worked) with 2.4 it wont  work, but if I change back to 2.2.6, no
problems.

thx in advance

### Wireshark

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=325AFA202310150139BFCC5A3A502762; Path=/dms3ws4
Transfer-Encoding: chunked
Date: Wed, 04 May 2011 09:55:06 GMT
0

## Code

Client client= ClientProxy.getClient(port);

HTTPConduit conduit = (HTTPConduit) systemClient.getConduit();
HTTPClientPolicy policy= new HTTPClientPolicy();
policy.setAllowChunking(false);
conduit .setClient(systemPolicy);
AuthorizationPolicy auth = new AuthorizationPolicy();
auth.setAuthorizationType("Negotiate");
conduit.setAuthorization(systemAuthPol);


## Console

04.05.2011 12:00:17 org.apache.cxf.interceptor.AbstractLoggingInterceptor
log
INFO: Inbound Message
----------------------------
ID: 1
Response-Code: 200
Encoding: ISO-8859-1
Content-Type:
Headers: {Date=[Wed, 04 May 2011 10:00:18 GMT],
Server=[Apache-Coyote/1.1],
Set-Cookie=[JSESSIONID=5C2A28AE90C8953782C2CEF976835033; Path=/dms3ws4],
transfer-encoding=[chunked]}
--------------------------------------
04.05.2011 12:00:17 org.apache.cxf.phase.PhaseInterceptorChain
doDefaultLogging
WARNUNG: Interceptor for {...}connect has thrown exception, unwinding now
org.apache.cxf.binding.soap.SoapFault: Error reading XMLStreamReader.
         at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:237)
         at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:60)
         at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
         at
org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:736)
         at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1563)
         at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1448)
         at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1356)
         at
org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:47)
         at
org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:188)
         at
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
         at
org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:614)
         at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
         at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
         at
org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:484)
         at
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:414)
         at
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:317)
         at
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:269)
         at
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
         at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
         at $Proxy56.connect(Unknown Source)
         at
org.test.util.KerberosConnectorTest.testKerberos(KerberosConnectorTest.java:109)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
         at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
         at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
         at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
         at
org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)
         at
org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:82)
         at
org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72)
         at
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:240)
         at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
         at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
         at
org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
         at
org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
         at
org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
         at
org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
         at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
         at
org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
         at
org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
         at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
         at
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:180)
         at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
         at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
         at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
         at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
         at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
         at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
  at [row,col {unknown-source}]: [1,0]
         at
com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java:677)
         at
com.ctc.wstx.sr.BasicStreamReader.handleEOF(BasicStreamReader.java:2104)
         at
com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:2010)
         at
com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1102)
         at
com.ctc.wstx.sr.BasicStreamReader.nextTag(BasicStreamReader.java:1125)
         at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:138)
         ... 49 more            


--
Christian Schneider
http://www.liquid-reality.de

CXF and Camel Architect
SOPERA - The Application Integration Division of Talend
http://www.talend.com

Reply via email to