Title: HOW TO: get axis2 client tcp to find Addressing module
Thanks for the recommendations - and yes it is pretty fun as I get closer and closer to establishing communication between the two platforms. 
 
On the debugging side: I know that the transport layer is working becuase I am getting a request on the WinFX side - I can see it in the trace logic, along with the exception.  The problem is definitely in the expectations on the WinFX side.  I believe it may be in the SOAP and WS-Addressing versions, because the exception I get in the WinFX ServiceModel.Channel layer is: Expected 'Version', but got '60', so I expect there's simply some setting differences.
 
Finally, since I'm a hardcode MS guy, I know how to turn on all the debugging switches on that side, but how to I do low-level debugging of the Axis components?
 
Thanks again - more info as the saga continues,
Bob


From: Martin Gainty [mailto:[EMAIL PROTECTED]
Sent: Thursday, May 25, 2006 8:40 AM
To: axis-user@ws.apache.org
Subject: Re: axis2 client to WinFX service via tcp [was RE: HOW TO: get axis2 client tcp to find Addressing module]

Good Morning  -
 
I would wind my way up the ISO stack starting at the Physical Layer and eventually winding up at Application
so something like
tracert hostname
will prove or disprove basic connectivity at the physical and network layers
My gut says you this maybe a datatype conversion or some sort of encoding issue...
Using UTF-8 or UTF-16 are very safe encoding styles..UTF816 maybe problematic as I havent seen any implementations thus far
Finally following Keep it simple if we passing information with datatypes as simple as possible then strings (and possibly ints) are best
Complex (Classes which are constructed of multiple primitive types)Datatypes are most problematic
Finally turn on max debugging ..grind thru every method in every class and output every parameter as well as announce entry and exit points
In any case this sounds like a fun project and I am sure you're having a ball with it,
Keep us apprised!

Martin --
*********************************************************************
This email message and any files transmitted with it contain confidential
information intended only for the person(s) to whom this email message is
addressed.  If you have received this email message in error, please notify
the sender immediately by telephone or email and destroy the original
message without making a copy.  Thank you.
 

 
----- Original Message -----
Sent: Thursday, May 25, 2006 6:55 AM
Subject: RE: axis2 client to WinFX service via tcp [was RE: HOW TO: get axis2 client tcp to find Addressing module]

Martin for the suggestions!  I'm actually pushing the envelope beyond .NET 2.0 by using the WinFX beta software (i.e. Indigo or Windows Communication Framework - .NET 3.0 stuff).  I can get the WSDL from the http endpoint I host on the same service, but I'm trying to verify that I can talk TCP from WinFX to/from Axis2.  I will hook in TcpTrace to see what's going over the wire, as well as look at the actual WSDL my server is generating from the ?wsdl.  It's a good learning experience none the less to really see what's going on under the hood on both sides.
 
Thanks again for the help.  When I get the solution, I'll post it back here in case anyone else may come across this in the future.
 
-bob


From: Martin Gainty [mailto:[EMAIL PROTECTED]
Sent: Wednesday, May 24, 2006 4:30 PM
To: axis-user@ws.apache.org
Subject: Re: axis2 client to WinFX service via tcp [was RE: HOW TO: get axis2 client tcp to find Addressing module]

Rob-
This is a Shot in the dark but why not use AXIS 1.3 to ensure compat with NET 2.0 framework

go to server-config.wsdd with which you are deploying the services verify these parameters to ensure compatibility with NET
<global-configuration>
<parameter name="enable2DArrayEncoding" value="true"/>
<parameter name="dotNetSoapEncFix" value="true"/>
</global-configuration>
redeploy the AXIS 1.3 service so that it will pickup the new parameters

Finally when client is constructing the call the 3rd parameter is encoding and I suspect this is NOT the encoding that is supported by the service
this is identified as the encoding attribute from the wsdl such as
encoding="UTF-8"

Unfortunately without the WSDL you're flying blind..
Taking a quick peek at available charactersets I see UTF-8 and UTF-16 a more or less comprehensive list is located at http://www.oracle.com/technology/tech/xml/xdk/doc/production10g/doc/c/Getting_Started_C.html
I dont see any implementation of UTF816 which I would assume uses a transcoder
Finally if you dont need DBCS why not use UTF-8 supported here
 
Anyone else?
M-
*********************************************************************
This email message and any files transmitted with it contain confidential
information intended only for the person(s) to whom this email message is
addressed.  If you have received this email message in error, please notify
the sender immediately by telephone or email and destroy the original
message without making a copy.  Thank you.
 

 
----- Original Message -----
Sent: Wednesday, May 24, 2006 3:36 PM
Subject: axis2 client to WinFX service via tcp [was RE: HOW TO: get axis2 client tcp to find Addressing module]

I've been working this a bit more by changing the WinFX side to use a custom binding that is a tcp transport with a text encoding, but still get the following warnings/exceptions on the Axis side when debugging:
 
Can anyone comment on the PrimitiveAssertion warnings?  Also, what is the default settings when the URI passed into the client stub is tcp-based?  Specifically, what is the encoding, etc.
 
Thanks,
Bob
===========================
Warning: cannot find a module for process PrimitiveAssertion - {http://schemas.xmlsoap.org/ws/2004/09/policy/encoding}Utf816FFFECharacterEncoding

Warning: cannot find a module for process PrimitiveAssertion - {http://schemas.microsoft.com/ws/06/2004/mspolicy/netframing1}Streamed

Warning: cannot find a module for process PrimitiveAssertion - {http://www.w3.org/2005/08/addressing}UsingAddressing

org.apache.axis2.AxisFault: Connection reset; nested exception is:

com.ctc.wstx.exc.WstxIOException: Connection reset

at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:126)

at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:67)

at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:349)

at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:279)

at Service1Stub.MyOperation1(Service1Stub.java:177)

at InteropClientJava.main(InteropClientJava.java:49)

Caused by: com.ctc.wstx.exc.WstxIOException: Connection reset

at com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:539)

at com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:592)

at com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:617)

at com.ctc.wstx.stax.WstxInputFactory.createXMLStreamReader(WstxInputFactory.java:315)

at org.apache.axiom.om.util.StAXUtils.createXMLStreamReader(StAXUtils.java:51)

at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:117)

... 5 more

Caused by: java.net.SocketException: Connection reset

at java.net.SocketInputStream.read(Unknown Source)

at java.net.SocketInputStream.read(Unknown Source)

at com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:354)

at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:110)

at com.ctc.wstx.io.ReaderBootstrapper.initialLoad(ReaderBootstrapper.java:240)

at com.ctc.wstx.io.ReaderBootstrapper.bootstrapInput(ReaderBootstrapper.java:127)

at com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:534)

... 10 more


 


From: Martin Gainty [mailto:[EMAIL PROTECTED]
Sent: Wednesday, May 24, 2006 9:12 AM
To: axis-user@ws.apache.org
Subject: Re: HOW TO: get axis2 client tcp to find Addressing module

Robert-
 
Does WinFX have TLS debug support such as what is supported in Axis?
As this inquiry is not supporting Axis solutions this is prob O/T accordingly I ask list members where should this be posted?

Martin --
*********************************************************************
This email message and any files transmitted with it contain confidential
information intended only for the person(s) to whom this email message is
addressed.  If you have received this email message in error, please notify
the sender immediately by telephone or email and destroy the original
message without making a copy.  Thank you.
 

 
----- Original Message -----
Sent: Tuesday, May 23, 2006 7:49 PM
Subject: RE: HOW TO: get axis2 client tcp to find Addressing module

I actually got that via WSDL2Java -uri.  That's what generated my java proxy code for calling my service.  The service is very simple:
 
interface IService
{
    string MyOperation(string s);
}
 
I believe the problem is in the tcp transport settings.  My guess [but I have to dig into it] is that the WinFX defaults for tcp and the axis2 defaults are probably not in sync.
 
Thanks for the suggestion, however!


From: Martin Gainty [mailto:[EMAIL PROTECTED]
Sent: Tuesday, May 23, 2006 5:30 PM
To: axis-user@ws.apache.org
Subject: Re: HOW TO: get axis2 client tcp to find Addressing module

Robert

It looks like you're going to need the WSDL the service generates so you may understand supported operations and parameters of the webservice
Anyone else ?

Martin --
*********************************************************************
This email message and any files transmitted with it contain confidential
information intended only for the person(s) to whom this email message is
addressed.  If you have received this email message in error, please notify
the sender immediately by telephone or email and destroy the original
message without making a copy.  Thank you.
 

 
----- Original Message -----
Sent: Tuesday, May 23, 2006 4:54 PM
Subject: RE: HOW TO: get axis2 client tcp to find Addressing module

I was able to get this working by pointing the ConfigurationContext.createConfigurationContextFromFileSystem at the apache installation's axis 2 location.  I am now struggling with getting the actual tcp connection established.  The WinFX side is throwing an exception [see below].  I'm currently tracing the call using the NET trace tools.  If anyone has [successfully] written an axis2 client to a WinFX service using the TCP transport and has any suggestions, I'd appreciate it.
 
Thanks,
Bob
 
exception: Expected record type 'Version', found '60'


From: DeRemer, Bob [mailto:[EMAIL PROTECTED]
Sent: Tuesday, May 23, 2006 2:40 PM
To: axis-user@ws.apache.org
Subject: HOW TO: get axis2 client tcp to find Addressing module

I'm trying to write a simple java client in axis2 that uses tcp transport to talk to my NET WinFX service.  I'm currently using the AXIOM approach vs the wsdl-gen'd proxy code.  In the AXIOM case, I get an exception when trying to engageModule.  I'm looking for some example that shows what I need to do in code to specify the configurationContext - so it knows where the addressing.mar is, but haven't been able to find any good example.  The sample code in the std source download doesn't appear to do anything to set this - as if the java console client just knows where the Axis repository is.

Thanks in advance for any help,

Bob DeRemer
Sr. Software Architect
 
SAP Labs, LLC
350 Eagleview Blvd
Exton, PA  19341  USA
T1  +1.610.903.8000 x 136
T2  +1.717.505.7923
M   +1.717.424.9595
E    [EMAIL PROTECTED]

Reply via email to