Hi Daniel,
I will do my best with the tcpmonitor. At the moment I try to put the
monitor in between client and server.
In EJB2.1 I knew how to do this, but in JavaEE5 and EJB3 everything is
generated.
I want to:
WSClient (8079) -> (8079)TCPMonitor(8080) -> WSService (8080)
My Code is:
...
URL wsdlLocation = new URL(serviceEndpointAdress +
"/" + name + "?wsdl");
QName serviceNameQ = new QName(nameSpace,
serviceName);
// dynamic service usage
Service service = Service.create(wsdlLocation,
serviceNameQ);
MyWS firstPort = service.getPort(MyWS.class);
firstPort.startMyMethod();
...
My Problem ist firstPort got already the information that physical port is
8080. This information is derived from the generated WSDL. How can I
change the port to 8079?
I have only one idea with a stored and modified WSDL in my head. But I
want to avoid this, there must be a better solution...
-Josef
Daniel Kulp <[EMAIL PROTECTED]>
23.07.2008 14:42
Bitte antworten an
[email protected]
An
[email protected]
Kopie
[EMAIL PROTECTED]
Thema
Re: Antwort: Re: WS-Stack Apache CXF asks for Axis2-Classes
On Jul 23, 2008, at 7:24 AM, [EMAIL PROTECTED] wrote:
> Hi Kevin, Lin, Daniel, Glen,
>
> @Daniel: Your VM-Parameters solved this problem. Thank you very much
> for
> your help.
Yea, but it definitely shouldn't have been necessary.
> @Glen: Thank you very much for your tipp, we will wait for Geronimo
> 2.1.2
> and then we have Apache CXF2.0.6...
Actually, CXF 2.0.8. :-)
> @All: Now I have two new issues ;-)
> 1) The client is written like described in
> http://cwiki.apache.org/CXF20DOC/ws-security.html. For the server
> part -
> because of JavaEE5 - we choose
>
http://depressedprogrammer.wordpress.com/2007/07/31/cxf-ws-security-using-jsr-181-interceptor-annotations-xfire-migration/
> .
> In the first run I added
> @InInterceptors
> (interceptors={ "de.myapp.WSSecurityInterceptor" }) to
> the WS-Implementation-Class and nothing happend. Afterwards I had a
> try
> with the interface class and added the same
> @InInterceptors(interceptors={ "de.myapp.WSSecurityInterceptor" }).
> After this changed the class de.myapp.WSSecurityInterceptor was
> accessed.
> Why do I have to add @... in implementation AND interface?
Not sure on that. Feel free to log a CXF bug. It should be
possible to just put it on the implementation. The interface should
be shareable between clients/servers and having interceptors defined
on it that should just be there for the server is not a good thing.
> 2) In the handleMessage(Message message) I receive after:
> ...
> props.put(WSHandlerConstants.PASSWORD_TYPE,
> WSConstants.PW_TEXT);
> props.put(WSHandlerConstants.PW_CALLBACK_CLASS,
> ServerPasswordCallback.class.getName());
>
> WSS4JInInterceptor wss4jInHandler = new
> WSS4JInInterceptor(props);
> ...
>
> .........................
>
> 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:
> 661)
> at
> com.ctc.wstx.sr.BasicStreamReader.handleEOF(BasicStreamReader.java:
> 2134)
> at
>
With CXF 2.0.2, that stack could result from a BUNCH of things. We
actually would get that stack if the server sent back and html error
page without setting a 404 or similar. Several things can cause
it. If you can tcpdump or wireshark the wire transfers to see what's
going on, that would be helpful. Good news is that this changed in
2.0.5 to get a better error message. :-)
---
Daniel Kulp
[EMAIL PROTECTED]
http://www.dankulp.com/blog
BGS Beratungsgesellschaft
Software Systemplanung AG Niederlassung Rhein/Main
Robert-Koch-Straße 41
55129 Mainz
Fon: +49 (0) 6131 / 914-0
Fax: +49 (0) 6131 / 914-400
www.bgs-ag.de Geschäftssitz Mainz
Registergericht
Amtsgericht Mainz
HRB 62 50
Aufsichtsratsvorsitzender
Klaus Hellwig
Vorstand
Hanspeter Gau
Hermann Kiefer
Nils Manegold