Re: iconv version mismatch
Thank you for your messages, Mark and Samisa What is a jira and how do I raise one? I will go ahead and do that for the documentation bug about the iconv version. Thanks for your assurance that the access violation is not related to iconv. This morning I cleaned and extracted the source a second time and went through the install process again to make sure I did not miss any small details. The access violation is still there so I must assume there is something incompatible with my system. (I did a system-wide search for the dlls Axis2c depends on and found no conflicting versions) I am using winxp sp2 and the ms visual c++ 6.0 compiler. I may be able to try the suggested vs 2005 exp compiler but I am limited to a standard corporate environment. What I have tried so far: -debug = 0(default) and debug = 1 in the root\build\win32\configure.in, building with root\build\win32\build.bat: no errors during build but access violation on launch (even of axis2_http_server.exe -h) -debug = 1(default) and debug = 0, with_mysql = 1(default) and with_mysql = 0, with_tcp = 1 (default) and with_tcp = 0 in the root\configure.in, building with root\build.bat: gives the following errors = apache2_out_transport_info.c ..\..\src\core\transport\http\server\apache2\axis2_apache2_out_transport_info.h(33) : fatal error C1083: Cannot open include file: 'httpd.h': No such file or directory apache2_stream.c ..\..\src\core\transport\http\server\apache2\apache2_stream.h(25) : fatal error C1083: Cannot open include file: 'httpd.h': No such file or directory apache2_worker.c ..\..\src\core\transport\http\server\apache2\apache2_stream.h(25) : fatal error C1083: Cannot open include file: 'httpd.h': No such file or directory mod_axis2.c ..\..\src\core\transport\http\server\apache2\mod_axis2.c(19) : fatal error C1083: Cannot open include file: 'httpd.h': No such file or directory = Apache is not mentioned as a dependency in the install guide. Attaching a debugger on the access violation after launching axis2_http_server.exe -h gives this call stack: 0002() axis2_getopt(int * (void)* 0x0002, char * const * * (void)* 0x006215f0, const char * 0x0040442c) line 71 + 3 bytes main(int 2, char * * 0x006215f0) line 119 + 18 bytes mainCRTStartup() line 338 + 17 bytes KERNEL32! 7c816fd7() The instruction pointer is at line if (optind = __argc || *(pos = __argv[optind]) != '-') In getopt_windows.c with optind at 1. Any suggestions on what may be wrong with my configuration are welcome :) I will go back to using the executables from the axis2c binary distribution. So far I have succeeded in adding a custom service to the server and have consumed it with a custom client. There is a pesky access violation resulting from axis2_svc_client_free() that I can hopefully track down once I get debug versions of the client dlls running. Sorry for the long message and thanks in advance for any help that might be forthcoming. Carl
Re: iconv version mismatch
Hi Carl, You can find the Axis2/C JIRA at [1], and the Axis2/C manual (online version) at [2], and it is better if you could also subscribe to the developer mailing list, where the developers do talk on Axis2/C issues. More info on how to subscribe can be found at [3]. Also, note that the changes you propose will be applied to the svn head which can be checked out (downloaded) from [4]. If you are going to suggest a patch in addition to raising an issue on the JIRA, which you can do, you will have to propose it against the svn head. [1] http://issues.apache.org/jira/browse/AXIS2C [2] http://ws.apache.org/axis2/c/docs/axis2c_manual.html [3] http://ws.apache.org/axis2/c/lists_issues.html [4] https://svn.apache.org/repos/asf/webservices/axis2/trunk/c Regards, Senaka Thank you for your messages, Mark and Samisa What is a jira and how do I raise one? I will go ahead and do that for the documentation bug about the iconv version. Thanks for your assurance that the access violation is not related to iconv. This morning I cleaned and extracted the source a second time and went through the install process again to make sure I did not miss any small details. The access violation is still there so I must assume there is something incompatible with my system. (I did a system-wide search for the dlls Axis2c depends on and found no conflicting versions) I am using winxp sp2 and the ms visual c++ 6.0 compiler. I may be able to try the suggested vs 2005 exp compiler but I am limited to a standard corporate environment. What I have tried so far: -debug = 0(default) and debug = 1 in the root\build\win32\configure.in, building with root\build\win32\build.bat: no errors during build but access violation on launch (even of axis2_http_server.exe -h) -debug = 1(default) and debug = 0, with_mysql = 1(default) and with_mysql = 0, with_tcp = 1 (default) and with_tcp = 0 in the root\configure.in, building with root\build.bat: gives the following errors = apache2_out_transport_info.c ..\..\src\core\transport\http\server\apache2\axis2_apache2_out_transport_info.h(33) : fatal error C1083: Cannot open include file: 'httpd.h': No such file or directory apache2_stream.c ..\..\src\core\transport\http\server\apache2\apache2_stream.h(25) : fatal error C1083: Cannot open include file: 'httpd.h': No such file or directory apache2_worker.c ..\..\src\core\transport\http\server\apache2\apache2_stream.h(25) : fatal error C1083: Cannot open include file: 'httpd.h': No such file or directory mod_axis2.c ..\..\src\core\transport\http\server\apache2\mod_axis2.c(19) : fatal error C1083: Cannot open include file: 'httpd.h': No such file or directory = Apache is not mentioned as a dependency in the install guide. Attaching a debugger on the access violation after launching axis2_http_server.exe -h gives this call stack: 0002() axis2_getopt(int * (void)* 0x0002, char * const * * (void)* 0x006215f0, const char * 0x0040442c) line 71 + 3 bytes main(int 2, char * * 0x006215f0) line 119 + 18 bytes mainCRTStartup() line 338 + 17 bytes KERNEL32! 7c816fd7() The instruction pointer is at line if (optind = __argc || *(pos = __argv[optind]) != '-') In getopt_windows.c with optind at 1. Any suggestions on what may be wrong with my configuration are welcome :) I will go back to using the executables from the axis2c binary distribution. So far I have succeeded in adding a custom service to the server and have consumed it with a custom client. There is a pesky access violation resulting from axis2_svc_client_free() that I can hopefully track down once I get debug versions of the client dlls running. Sorry for the long message and thanks in advance for any help that might be forthcoming. Carl - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Axis2C] mod_axis2 service shutdown problem
Hello, I'm experimenting with mod_axis2 in Apache 2.2.4 on Solaris 10 (I know Solaris isn't officially supported, but this appears to be a general apache2 issue.) I started with the echo service sample and started modifying it. I allocate some resources at service init time (in echo_init) that I need to free/close at service free time (in echo_free.) If I run this in the simple axis2_http_server, echo_free gets called when I stop the server. But when I run this in apache2, echo_free does NOT appear to be called when I stop apache. I've started to look at the code for mod_axis2, and I see where the call to AXIS2_SVC_SKELETON_INIT is made, but I see no corresponding call to _FREE. In apache2, shutdown handling is usually done via a registered pool cleanup handler, and I don't see one of those either, but I haven't walked through all of the axis2_worker code yet. I've searched the bug DB and the email archive, and haven't found any relevant references. Has anyone else run into this issue? Is anyone trying to allocate resources that have to be freed? (In particular, I'm opening a database, and I need to properly close it - I can't just rely on the OS to free memory or close file handles.) Thanks, -Ben Wyckoff P.S. I see that 1.3.0 RC2 doesn't contain any changes to mod_axis2.c - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [AXIS2C] Need IIS 6 instructions on how to set up Axis2/C
Hi Dave, I'm really sorry, still I couldn't look in to this and most probably I won't be able to look in to this in the next few weeks also. (I have an examination period in the next 4 weeks) After that I will look in to this. Regards, Supun.. On Feb 18, 2008 12:04 PM, Dave Meier [EMAIL PROTECTED] wrote: Hi Supun, Have you had a chance to look into this? Thanks, -Dave. -Original Message- From: Supun Kamburugamuva [mailto:[EMAIL PROTECTED] Sent: Thursday, January 03, 2008 8:44 PM To: Apache AXIS C User List Subject: Re: [AXIS2C] Need IIS 6 instructions on how to set up Axis2/C Hi Dave, The instructions are same for the IIS 5 and IIS 6. At the moment IIS module doesn't differentiate between IIS 6 and IIS 5. IIS module is built as a filter and an extension. This is the best way to do this in IIS 5. But in IIS 6 filters may be instantiated multiple times. That means multiple instances of Axis2/C. The same problem existed with Apache server and I think now it is fixed for Apache in Linux. There is another way that we can do this in IIS 6. In IIS 6 we can drop the filter part completely and use an extension only. But last time I checked on this there were several problems like multiple instances, how URL dispatching works etc. As soon as possible I will look in to this again and see if the module can be done in a IIS 6 specific way. Regards, Supun. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. ** - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Axis2C] mod_axis2 service shutdown problem
Hi Ben, On Feb 20, 2008 1:40 AM, Ben Wyckoff [EMAIL PROTECTED] wrote: snip Has anyone else run into this issue? Is anyone trying to allocate resources that have to be freed? (In particular, I'm opening a database, and I need to properly close it - I can't just rely on the OS to free memory or close file handles.) /snip This seems to be a problem with mod_axis2. Although the memory allocated with apr_pools will get free'd eventually without free functions being called, in order to free up other resources, we need to register relevant free functions to pool cleanup of a pool which has resource's lifetime. Please add a jira issue. The attached patch should solve this issue when shared memory is not used. I'm not sure if it works when shared memory is used. Hope that someone familiar with axis2c shared memory implementation will look further into it. Regards, Dumindu. -- Dumindu Pallewela http://blog.dumindu.com GPG ID: 0x9E131672 WSO2 | Oxygenating the Web Service Platform | http://wso2.com mod_axis2_cleanup_diff Description: Binary data - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: retrieving MTOM in a client
Hi, The server I'm running on is JBOSS 4.0.3SP1. Here is the complete HTTP response. Adam HTTP/1.1 200 OK Server: Apache-Coyote/1.1 X-Powered-By: Servlet 2.4; JBoss-4.0.3SP1 (build: CVSTag=JBoss_4_0_3_SP1 date=200510231054)/Tomcat-5.5 Content-Type: application/xml;charset=UTF-8 Transfer-Encoding: chunked Date: Mon, 18 Feb 2008 11:37:15 GMT 494 --MIMEBoundaryurn_uuid_4DDAF973E789AF02831203334635830 Content-Type: application/xop+xml; charset=UTF-8; type=application/soap+xml Content-Transfer-Encoding: binary Content-ID: 0.urn:uuid:[EMAIL PROTECTED] ns:mapResponse xmlns:ns=http://samples.webservice.gss/xsd;ns:returnns:mapns:map_return_typens:display_style_nameAuto/ns:display_style_name ns:crsuk_british_national_grid_mm/ns:crsns:centre283355000.00,542605000.00/ns:centrens:image_layers{sw_map=com.gesmallworld.gss.ser [EMAIL PROTECTED]/ns:image_layersns:unitsmm/ns:unitsns:style_groupdefault/ns:style_groupns:options{}/ns:optionsns:view _scale9846153.846153846/ns:view_scalens:rotation0.0/ns:rotationns:map_element_keyswrefVdisplay_styleVidZ0Q1/ns:map_element_keyns:worldswr efVworldVdatasetZgisVuniverseZ0VworldZ0/ns:worldns:ace_namedefault/ns:ace_namens:namesw_default/ns:namens:map_imagexop:Include href=cid: 1.urn:uuid:[EMAIL PROTECTED] xmlns:xop=http://www.w3.org/2004/08/xop/include; //ns:map_image/ns:map_return_type/ns:ma p/ns:return/ns:mapResponse 38 --MIMEBoundaryurn_uuid_4DDAF973E789AF02831203334635830 59d Content-Type: image/jpeg Content-Transfer-Encoding: binary Content-ID: 1.urn:uuid:[EMAIL PROTECTED] ►JFIFC ♠ ↔§▬#▼%$▼!+7/)4)!0A149;%.DICH7=;C☺ .REMOVED REST OF BINARY FILE... -Original Message- From: Thilina Gunarathne [mailto:[EMAIL PROTECTED] Sent: 19 February 2008 02:54 To: axis-user@ws.apache.org Subject: Re: retrieving MTOM in a client Hi, the content type should be as follows.. Content-Type: Multipart/Related;boundary=your_MIME_boundary; type=application/xop+xml;start=... Looks like Axis2 does not recognize your message as a MTOM message..It should print the binary payload in base64 encoding if it does, not the xop:Include element.. What is your server.. Can you post the full HTTP Headers... thanks, Thilina On Feb 18, 2008 10:50 AM, Etches, Adam (GE Infra, Energy) [EMAIL PROTECTED] wrote: Hi, The http headers have the content-type set to application/xop+xml, this seems incorrect should it be multipart? Below is the system print of the mapImage element: ns:map_image xmlns:ns=http://samples.webservice.gss/xsd;xop:Include xmlns:xop=http://www.w3.org/2004/08/xop/include; href=cid:1.urn:uuid:[EMAIL PROTECTED] //ns:map_image thanks for the help. Adam From: Thilina Gunarathne [mailto:[EMAIL PROTECTED] Sent: 16 February 2008 13:49 To: axis-user@ws.apache.org Subject: Re: retrieving MTOM in a client Hi, The SOAP Message looks fine... Can you also look at the HTTPHeaders.. Specially the content-type header and see whether it has multipart/related and type=application/xop+xml I doubt whether something is wrong in the content type and Axis2 cannot recognize it as a MTOM message.. Also try printing the content of the mapImage element using mapImage.toString()... thanks, Thilina On Feb 13, 2008 11:31 AM, Etches, Adam (GE Infra, Energy) [EMAIL PROTECTED] wrote: Thanks Thilina, the SOAP message is below: I'm sure the client worked once but then stopped? The client code extract is: OMText binaryNode = (OMText) mapImage.getFirstOMChild(); DataHandler actualDH = (DataHandler) binaryNode.getDataHandler(); soapenv:Envelope xmlns:soapenv=http://www.w3.org/2003/05/soap-envelope; soapenv:Body ns:mapResponse xmlns:ns=http://samples.webservice.gss/xsd; ns:return ns:map ns:map_return_type ns:display_style_nameRegion/ns:display_style_name ns:crsuk_british_national_grid_mm/ns:crs ns:centre546307392.00,258873636.00/ns:centre ns:image_layers{sw_map=com.gesmallworld.gss.services.map.MapLayerR espo [EMAIL PROTECTED]/ns:image_layers ns:unitsmm/ns:units ns:style_groupdefault/ns:style_group ns:options{}/ns:options ns:view_scale127020.02565384615/ns:view_scale ns:rotation0.0/ns:rotation ns:map_element_keyswrefVdisplay_styleVidZ0Q6/ns:map_element_key ns:worldswrefVworldVdatasetZgisVuniverseZ0VworldZ0/ns:world ns:ace_namedefault/ns:ace_name ns:nametest/ns:name ns:map_image xop:Include href=cid:1.urn:uuid:[EMAIL PROTECTED] xmlns:xop=http://www.w3.org/2004/08/xop/include/ /ns:map_image /ns:map_return_type /ns:map /ns:return /ns:mapResponse /soapenv:Body
MTOM endpoint backward compatibility with SwA
Hi, Is it possible to create an endpoint operation that can respond either MTOM or SwA depending on the request? I read the Attachments/MTOM guide and first I understood it as MTOM was already backward compatible with SwA. But if I enable MTOM for my endpoint it always returns a xop:include (mtom) no matter how i call the service. And if I enable SwA instead of MTOM for the endpoint it still returns a xop:include but with an empty attachment. Afterwards I read the following article http://wso2.org/library/1675; and I could then see the implementation for SwA was different from MTOM. You manually add your attachment to the outgoing MessageContext where as MTOM uses OMText on OMFactory. Can I conclude that it isn't possible to create an MTOM endpoint operation that is backward compatible with SwA? Regards Multi-Support A/S Torben Riis Phone +45 96 600 600, Fax +45 96 600 601 E-mail: [EMAIL PROTECTED] http://www.multi-support.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Fw: Axis2 session management (yes, I know that subject is a bit worn-out)
Here is my service configuration : serviceGroup !-- Sample -- service name=sample scope=soapsession messageReceivers messageReceiver mep=http://www.w3.org/2004/08/wsdl/in-out; class=org.apache.axis2.rpc.receivers.RPCMessageReceiver / messageReceiver mep=http://www.w3.org/2004/08/wsdl/in-only; class=org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver / /messageReceivers parameter name=ServiceClass locked=falsefr.axis2ws.wsmobile.SampleService/parameter operation name=getResult mep=http://www.w3.org/2004/08/wsdl/in-out; actionMappingurn:getResult/actionMapping /operation /service !-- Other services -- ... /serviceGroup Here is my service source code : package fr.axis2ws.wsmobile; /* Various imports */ public abstract class SampleService { private static Logger logger = Logger.getLogger(SampleService.class); private Member member = null; private String sessionId = null; /** * @param sc * @throws SampleInitException */ public void init (ServiceContext sc) throws SampleInitException { try { if (this.member == null) { if (this.idSession == null) { this.idSession = sc.getServiceGroupContext().getId(); } this.member = (Member)sc.getServiceGroupContext().getProperty(Const.MEMBER); if (this.member == null) { this.member = new Member(); sc.getServiceGroupContext().setProperty(Const.MEMBER, this.member); } } } catch (Throwable t) { logger.error(Init error, t); throw new SampleInitException(Init error, t); } } /** * @param sc * @throws SampleInitException */ public void destroy (ServiceContext sc) throws SampleInitException { logger.info(Destroy); } public SampleResponse getResult (long param) throws WsMobNoeudException { try { SampleResponse response; /* Some code */ response = new SampleResponse(SampleResponse.SUCCESS, this.sessionId); return response; } catch (Throwable t) { logger.error(Failure, t); throw new SampleException(Failure, t); } } } And here is the source code for creating a response object : /* Various imports */ public class SampleResponse { public static int VOID = -1; public static int SUCCESS = 0; public static int FAILURE = 1; protected int errorCode = VOID; public SampleResponse (int errorCode, String sessionId) { this.errorCode = errorCode; this.sessionId = sessionId; } public String getSessionId () { return this.sessionId; } public int getErrorCode () { return this.errorCode; } } Thank you. Best regards, Benoît Smith Selon Martin Gainty [EMAIL PROTECTED]: when unspecified the default scope is session scope so taking a quick look at the code to generate the id for your Session GetResult gr = new GetResult(); gr.setParam(-1); GetResultResponse reponse = stub.getResult(gr); idSession = reponse.get_return().getIdSession(); there appears to be some malady in either GetResultResponse OR GetResult can you display the contents of the classes to group? Thanks Martin-- - Original Message - From: Michele Mazzucco [EMAIL PROTECTED] To: axis-user@ws.apache.org Sent: Monday, February 18, 2008 4:36 AM Subject: Re: Axis2 session management (yes, I know that subject is a bit worn-out) Benoît, my guess is that the service must be configured in session scope. Michele On 18 Feb 2008, at 08:38, Benoît Smith wrote: Greetings, I'm a clear newbie to Axis2, and I'm aware that the question I'm asking has already been asked in many forms before. The thing is, none of the solutions appeared to solve my specific problem. So I'll try to be as accurate as possible. My objectives : Run some Axis2 web services on a Tomcat servlet container, and access them with a *remote* client, using session management. Server-side configuration : - Axis2 1.2 (for compatibility reasons, I have to stick with 1.2), installed as a component on a Tomcat 6.0.14 servlet container. - axis2.xml configured by default. The Addressing module seems well engaged. - The SampleService I wrote includes a 'sessionId' value in its responses. That
Re: writing a client
I like to use an Adapter Class that encapsulates all the creation message logic. This adapter class is used as a simple java object, in other words, the user of this class dont know if it is calling a web service, is calling a database, ... methods of this Adapter Class only receive parameters of Java native API (Integer, String, ...) no XMLBeans or ADB Objects, this objects are used inside the Adapter Class. This approach provide a low coupled Client Application and Web Service Client. If somebody is interesting in this approach I can create a small example and post it here. Bye. 2008/2/15, [EMAIL PROTECTED] [EMAIL PROTECTED]: Hi, Indeed this is the aproach. First genereate client-stub and then create a ServiceClient which calls the stubmethods. See small example voor de client main. *public* *static* *void* main(String[] args) *throws* RemoteException { // *TODO* Auto-generated method stub DemoStub stub = *new* DemoStub(); DemoRequest request = *new* DemoRequest(); InputBean ib = *new* InputBean(); Structure[] ss = *new* Structure[5]; Structure str = *new* Structure(); *for* (*int* i = 0; i 5; i++) { str.setX(100 * (i + 1)); str.setY(200 * (i + 1)); ss[i] = str; } ib.setStruct(ss); request.setInputBean(ib); DemoResponse response = stub.bepaal(request); OutputBean ob = response.getOutputBean(); } regards Dirk -Original Message- *From:* [EMAIL PROTECTED] [mailto: [EMAIL PROTECTED] *Sent:* vrijdag 15 februari 2008 13:12 *To:* axis-user@ws.apache.org *Subject:* writing a client Hi, Could you please let me how to go about writing a client? I mean what is the approach. 1) Generate the client-side stub using wsdltojava call methods on the stub 2) Start from using ServiceClient .. What is the suggested approach? Thanks, Ajit DISCLAIMER: This message contains privileged and confidential information and is intended only for an individual named. If you are not the intended recipient, you should not disseminate, distribute, store, print, copy or deliver this message. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete or contain viruses. The sender, therefore, does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required, please request a hard-copy version. The information transmitted via this e-mail is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer.
Axis2 MTOM + module
Hello! I have the following problem: I have a service that does MTOM. In a Module on the client side, i need to do some xslt transformation on the soap structure. But when I do that (I use Saxon9 for xslt transformation) I need to convert that SOAP message to a string to apply that xslt transformer. When I rebuild the transformed soap envelope again with the StAXSOAPModelBuilder all MTOM information is somehow lost... I already tried to get the MTOM attachments on the client side inside the module, but there the attachmentsmap conveyed in the message context is empty. My question now is: how can I preserve mtom information after in the client module when I need to transform the soap string? On the server side I managed to do it by reading out the 0th attachments, which is the soap envelope and alter this one. Through that the attachments are not built into the soap envelope. But on the client module I do not seem to have access to the MTOM message... is it somehow possible to intercept the MTOM message on the client side? Btw: the module's handler on the client side is bount to the MessageOut phase. Thanks for your help and input, Best regards Simon - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: MTOM endpoint backward compatibility with SwA
Hi, It's not in the way you create the message. It is how the message looks like in the wire.. MTOM can be considered as a special case of SwA.. Even though MTOM includes xop:include tags, it is possible to extract the attachment using SwA enabled web service processor. See here[1] too.. thanks, Thilina [1]http://ws.apache.org/axis2/1_3/mtom-guide.html#33 On Feb 19, 2008 3:18 AM, [EMAIL PROTECTED] wrote: Hi, Is it possible to create an endpoint operation that can respond either MTOM or SwA depending on the request? I read the Attachments/MTOM guide and first I understood it as MTOM was already backward compatible with SwA. But if I enable MTOM for my endpoint it always returns a xop:include (mtom) no matter how i call the service. And if I enable SwA instead of MTOM for the endpoint it still returns a xop:include but with an empty attachment. Afterwards I read the following article http://wso2.org/library/1675; and I could then see the implementation for SwA was different from MTOM. You manually add your attachment to the outgoing MessageContext where as MTOM uses OMText on OMFactory. Can I conclude that it isn't possible to create an MTOM endpoint operation that is backward compatible with SwA? Regards Multi-Support A/S Torben Riis Phone +45 96 600 600, Fax +45 96 600 601 E-mail: [EMAIL PROTECTED] http://www.multi-support.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Thilina Gunarathne - http://thilinag.blogspot.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Axis2] Manually parse SAML token
Hi! I am using an external SOAP web service that uses a nearly WS* compliant version of the SAML token implementation - i.e. Rampart deployed as an Axis2 module is not an option. Are there any helper classes/java-api's available that can help me parse/decrypt the SAML token? br -LT - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Axis2 - Java2WSDL
Hi I have a list of extra classes for which I need to generate WSDL types definition. The org.apache.ws.java2wsdl.Java2WSDL class takes an option -xc class1 -xc class2 . . The problem is that I have a list of classes, which I need to process. In Axis 1 I had the -extraClasses option which could take the list of classes. -extraClasses class1,class2, Please let me know if I have a better option. Thanks Pradeep
Re: retrieving MTOM in a client
Hi, As I expected, the content-type http header is incorrect.. See here[1] for an example from the spec.. Content-Type: application/xml;charset=UTF-8 This should be as follows, Content-Type: Multipart/Related; boundary=MIMEBoundaryurn_uuid_4DDAF973E789AF02831203334635830;type=application/xop+xml;start=...; What surprises me is the fact that, Axis2 extracted the SOAP message without knowing the Mime Boundary :). thanks, Thilina [1] http://www.w3.org/TR/2004/PR-xop10-20041116/#xop_package_svg_sample Transfer-Encoding: chunked Date: Mon, 18 Feb 2008 11:37:15 GMT 494 --MIMEBoundaryurn_uuid_4DDAF973E789AF02831203334635830 Content-Type: application/xop+xml; charset=UTF-8; type=application/soap+xml Content-Transfer-Encoding: binary Content-ID: 0.urn:uuid:[EMAIL PROTECTED] ns:mapResponse xmlns:ns=http://samples.webservice.gss/xsd;ns:returnns:mapns:map_return_typens:display_style_nameAuto/ns:display_style_name ns:crsuk_british_national_grid_mm/ns:crsns:centre283355000.00,542605000.00/ns:centrens:image_layers{sw_map=com.gesmallworld.gss.ser [EMAIL PROTECTED]/ns:image_layersns:unitsmm/ns:unitsns:style_groupdefault/ns:style_groupns:options{}/ns:optionsns:view _scale9846153.846153846/ns:view_scalens:rotation0.0/ns:rotationns:map_element_keyswrefVdisplay_styleVidZ0Q1/ns:map_element_keyns:worldswr efVworldVdatasetZgisVuniverseZ0VworldZ0/ns:worldns:ace_namedefault/ns:ace_namens:namesw_default/ns:namens:map_imagexop:Include href=cid: 1.urn:uuid:[EMAIL PROTECTED] xmlns:xop=http://www.w3.org/2004/08/xop/include; //ns:map_image/ns:map_return_type/ns:ma p/ns:return/ns:mapResponse 38 --MIMEBoundaryurn_uuid_4DDAF973E789AF02831203334635830 59d Content-Type: image/jpeg Content-Transfer-Encoding: binary Content-ID: 1.urn:uuid:[EMAIL PROTECTED] ►JFIFC ♠ ↔§▬#▼%$▼!+7/)4)!0A149;%.DICH7=;C☺ .REMOVED REST OF BINARY FILE... -Original Message- From: Thilina Gunarathne [mailto:[EMAIL PROTECTED] Sent: 19 February 2008 02:54 To: axis-user@ws.apache.org Subject: Re: retrieving MTOM in a client Hi, the content type should be as follows.. Content-Type: Multipart/Related;boundary=your_MIME_boundary; type=application/xop+xml;start=... Looks like Axis2 does not recognize your message as a MTOM message..It should print the binary payload in base64 encoding if it does, not the xop:Include element.. What is your server.. Can you post the full HTTP Headers... thanks, Thilina On Feb 18, 2008 10:50 AM, Etches, Adam (GE Infra, Energy) [EMAIL PROTECTED] wrote: Hi, The http headers have the content-type set to application/xop+xml, this seems incorrect should it be multipart? Below is the system print of the mapImage element: ns:map_image xmlns:ns=http://samples.webservice.gss/xsd;xop:Include xmlns:xop=http://www.w3.org/2004/08/xop/include; href=cid:1.urn:uuid:[EMAIL PROTECTED] //ns:map_image thanks for the help. Adam From: Thilina Gunarathne [mailto:[EMAIL PROTECTED] Sent: 16 February 2008 13:49 To: axis-user@ws.apache.org Subject: Re: retrieving MTOM in a client Hi, The SOAP Message looks fine... Can you also look at the HTTPHeaders.. Specially the content-type header and see whether it has multipart/related and type=application/xop+xml I doubt whether something is wrong in the content type and Axis2 cannot recognize it as a MTOM message.. Also try printing the content of the mapImage element using mapImage.toString()... thanks, Thilina On Feb 13, 2008 11:31 AM, Etches, Adam (GE Infra, Energy) [EMAIL PROTECTED] wrote: Thanks Thilina, the SOAP message is below: I'm sure the client worked once but then stopped? The client code extract is: OMText binaryNode = (OMText) mapImage.getFirstOMChild(); DataHandler actualDH = (DataHandler) binaryNode.getDataHandler(); soapenv:Envelope xmlns:soapenv=http://www.w3.org/2003/05/soap-envelope; soapenv:Body ns:mapResponse xmlns:ns=http://samples.webservice.gss/xsd; ns:return ns:map ns:map_return_type ns:display_style_nameRegion/ns:display_style_name ns:crsuk_british_national_grid_mm/ns:crs ns:centre546307392.00,258873636.00/ns:centre ns:image_layers{sw_map=com.gesmallworld.gss.services.map.MapLayerR espo [EMAIL PROTECTED]/ns:image_layers ns:unitsmm/ns:units ns:style_groupdefault/ns:style_group ns:options{}/ns:options ns:view_scale127020.02565384615/ns:view_scale ns:rotation0.0/ns:rotation ns:map_element_keyswrefVdisplay_styleVidZ0Q6/ns:map_element_key ns:worldswrefVworldVdatasetZgisVuniverseZ0VworldZ0/ns:world ns:ace_namedefault/ns:ace_name
RE: retrieving MTOM in a client
Thanks, Any ideas where this is configured or set up? Adam -Original Message- From: Thilina Gunarathne [mailto:[EMAIL PROTECTED] Sent: 19 February 2008 12:29 To: axis-user@ws.apache.org Subject: Re: retrieving MTOM in a client Hi, As I expected, the content-type http header is incorrect.. See here[1] for an example from the spec.. Content-Type: application/xml;charset=UTF-8 This should be as follows, Content-Type: Multipart/Related; boundary=MIMEBoundaryurn_uuid_4DDAF973E789AF02831203334635830;type=application/xop+xml;start=...; What surprises me is the fact that, Axis2 extracted the SOAP message without knowing the Mime Boundary :). thanks, Thilina [1] http://www.w3.org/TR/2004/PR-xop10-20041116/#xop_package_svg_sample Transfer-Encoding: chunked Date: Mon, 18 Feb 2008 11:37:15 GMT 494 --MIMEBoundaryurn_uuid_4DDAF973E789AF02831203334635830 Content-Type: application/xop+xml; charset=UTF-8; type=application/soap+xml Content-Transfer-Encoding: binary Content-ID: 0.urn:uuid:[EMAIL PROTECTED] ns:mapResponse xmlns:ns=http://samples.webservice.gss/xsd;ns:returnns:mapns:ma p_return_typens:display_style_nameAuto/ns:display_style_name ns:crsuk_british_national_grid_mm/ns:crsns:centre283355000. 00,542605000.00/ns:centrens:image_layers{sw_map=com.gesmallwo rld.gss.ser [EMAIL PROTECTED]/ns:image_layersns:unitsmm/ns:u nitsns:style_groupdefault/ns:style_groupns:options{}/ns:option sns:view _scale9846153.846153846/ns:view_scalens:rotation0.0/ns:rotation ns:map_element_keyswrefVdisplay_styleVidZ0Q1/ns:map_element_keyns :worldswr efVworldVdatasetZgisVuniverseZ0VworldZ0/ns:worldns:ace_namedefault/ns:ace_namens:namesw_default/ns:namens:map_imagexop:Include href=cid: 1.urn:uuid:[EMAIL PROTECTED] xmlns:xop=http://www.w3.org/2004/08/xop/include; //ns:map_image/ns:map_return_type/ns:ma p/ns:return/ns:mapResponse 38 --MIMEBoundaryurn_uuid_4DDAF973E789AF02831203334635830 59d Content-Type: image/jpeg Content-Transfer-Encoding: binary Content-ID: 1.urn:uuid:[EMAIL PROTECTED] ►JFIFC ♠ ↔§▬#▼%$▼!+7/)4)!0A149;%.DICH7=;C☺ .REMOVED REST OF BINARY FILE... -Original Message- From: Thilina Gunarathne [mailto:[EMAIL PROTECTED] Sent: 19 February 2008 02:54 To: axis-user@ws.apache.org Subject: Re: retrieving MTOM in a client Hi, the content type should be as follows.. Content-Type: Multipart/Related;boundary=your_MIME_boundary; type=application/xop+xml;start=... Looks like Axis2 does not recognize your message as a MTOM message..It should print the binary payload in base64 encoding if it does, not the xop:Include element.. What is your server.. Can you post the full HTTP Headers... thanks, Thilina On Feb 18, 2008 10:50 AM, Etches, Adam (GE Infra, Energy) [EMAIL PROTECTED] wrote: Hi, The http headers have the content-type set to application/xop+xml, this seems incorrect should it be multipart? Below is the system print of the mapImage element: ns:map_image xmlns:ns=http://samples.webservice.gss/xsd;xop:Include xmlns:xop=http://www.w3.org/2004/08/xop/include; href=cid:1.urn:uuid:[EMAIL PROTECTED] //ns:map_image thanks for the help. Adam From: Thilina Gunarathne [mailto:[EMAIL PROTECTED] Sent: 16 February 2008 13:49 To: axis-user@ws.apache.org Subject: Re: retrieving MTOM in a client Hi, The SOAP Message looks fine... Can you also look at the HTTPHeaders.. Specially the content-type header and see whether it has multipart/related and type=application/xop+xml I doubt whether something is wrong in the content type and Axis2 cannot recognize it as a MTOM message.. Also try printing the content of the mapImage element using mapImage.toString()... thanks, Thilina On Feb 13, 2008 11:31 AM, Etches, Adam (GE Infra, Energy) [EMAIL PROTECTED] wrote: Thanks Thilina, the SOAP message is below: I'm sure the client worked once but then stopped? The client code extract is: OMText binaryNode = (OMText) mapImage.getFirstOMChild(); DataHandler actualDH = (DataHandler) binaryNode.getDataHandler(); soapenv:Envelope xmlns:soapenv=http://www.w3.org/2003/05/soap-envelope; soapenv:Body ns:mapResponse xmlns:ns=http://samples.webservice.gss/xsd; ns:return ns:map ns:map_return_type ns:display_style_nameRegion/ns:display_style_name ns:crsuk_british_national_grid_mm/ns:crs ns:centre546307392.00,258873636.00/ns:centre ns:image_layers{sw_map=com.gesmallworld.gss.services.map.MapLaye rR espo [EMAIL PROTECTED]/ns:image_layers ns:unitsmm/ns:units ns:style_groupdefault/ns:style_group ns:options{}/ns:options
Re: writing a client
I trying to use stubs but I am getting erros like InputStream Could not be null, even for out-only methods. What this mean? PS. In the other thread I had Read time out using the ServiceClient approach. On Feb 19, 2008 6:40 AM, Antonio Manuel Muñiz Martín [EMAIL PROTECTED] wrote: I like to use an Adapter Class that encapsulates all the creation message logic. This adapter class is used as a simple java object, in other words, the user of this class dont know if it is calling a web service, is calling a database, ... methods of this Adapter Class only receive parameters of Java native API (Integer, String, ...) no XMLBeans or ADB Objects, this objects are used inside the Adapter Class. This approach provide a low coupled Client Application and Web Service Client. If somebody is interesting in this approach I can create a small example and post it here. Bye. 2008/2/15, [EMAIL PROTECTED] [EMAIL PROTECTED]: Hi, Indeed this is the aproach. First genereate client-stub and then create a ServiceClient which calls the stubmethods. See small example voor de client main. *public* *static* *void* main(String[] args) *throws*RemoteException { // *TODO* Auto-generated method stub DemoStub stub = *new* DemoStub(); DemoRequest request = *new* DemoRequest(); InputBean ib = *new* InputBean(); Structure[] ss = *new* Structure[5]; Structure str = *new* Structure(); *for* (*int* i = 0; i 5; i++) { str.setX(100 * (i + 1)); str.setY(200 * (i + 1)); ss[i] = str; } ib.setStruct(ss); request.setInputBean(ib); DemoResponse response = stub.bepaal(request); OutputBean ob = response.getOutputBean(); } regards Dirk -Original Message- *From:* [EMAIL PROTECTED] [mailto: [EMAIL PROTECTED] *Sent:* vrijdag 15 februari 2008 13:12 *To:* axis-user@ws.apache.org *Subject:* writing a client Hi, Could you please let me how to go about writing a client? I mean what is the approach. 1) Generate the client-side stub using wsdltojava call methods on the stub 2) Start from using ServiceClient .. What is the suggested approach? Thanks, Ajit DISCLAIMER: This message contains privileged and confidential information and is intended only for an individual named. If you are not the intended recipient, you should not disseminate, distribute, store, print, copy or deliver this message. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete or contain viruses. The sender, therefore, does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required, please request a hard-copy version. The information transmitted via this e-mail is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer. -- Wesley Mesquita LIS/IC - UNICAMP [skype: wesley.mesquita]
Re: Axis2 MTOM + module
Hello, I have the following problem: I have a service that does MTOM. In a Module on the client side, i need to do some xslt transformation on the soap structure. But when I do that (I use Saxon9 for xslt transformation) I need to convert that SOAP message to a string to apply that xslt transformer. When I rebuild the transformed soap envelope again with the StAXSOAPModelBuilder all MTOM information is somehow lost... When you convert the whole SOAP message to a String using Axiom API's, the MTOM attachments become text nodes having the attachment content encoded in base64. But if you write the message object model using MTOMWriter, then those text nodes will be written as attachments.. But if you just took out the string, then there won't be any information about MTOM.. Also on a side note use the MTOMStAXSOAPModelBuilder if you want to build a MTOM message.. But it will not solve your issue.. I already tried to get the MTOM attachments on the client side inside the module, but there the attachmentsmap conveyed in the message context is empty. Did you try monitoring the actual wire level message did you see the attachment's in it.. One reason might be that the attachments are still not build due to differed building of Axis2. Try calling SOAPEnvelope.buildWithAttachments(); My question now is: how can I preserve mtom information after in the client module when I need to transform the soap string? Should be possible if you need only to transform the contents of the root mime part, as you have mentioned below. On the server side I managed to do it by reading out the 0th attachments, which is the soap envelope and alter this one. Through that the attachments are not built into the soap envelope. But on the client module I do not seem to have access to the MTOM message... is it somehow possible to intercept the MTOM message on the client side? Same as in the server... Btw: the module's handler on the client side is bount to the MessageOut phase. hmm...too bad.. I was under the impression that you are talking about receiving a message in the client side. In this case attachments are not processed and they are not in the MAP.. AttachmentMAP is populated only for incoming messages. Only clear solution I can think of is to manually traverse the rebuilt SOAPMessage and then to mark all the text nodes that contains binary content as follows.. textNode.setBinary(true); textNode.setOptimized(true); thanks, Thilina Thanks for your help and input, Best regards Simon - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Thilina Gunarathne - http://thilinag.blogspot.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: MTOM endpoint backward compatibility with SwA
Hi, Okey, but if I generate a .net client without WSE3 (.net should by standard understand SwA), it complains about it couldn't parse the xop:include tag. By good reason since the wsdl doesn't define any xop:include elements. Actually I thought it was MTOM that knew xop:include tags shouldn't be parsed and handled special. Have I totally missed it? ;-) Do you know how other wsdl2java tools works if they only support SwA and not MTOM. Would they just ignore the returned xop:include and find the attachments anyway? Regards Multi-Support A/S Torben Riis Phone +45 96 600 600, Fax +45 96 600 601 E-mail: [EMAIL PROTECTED] http://www.multi-support.com Thilina Gunarathne [EMAIL PROTECTED] To maxis-user@ws.apache.org cc 19-02-2008 13:34 Subject Re: MTOM endpoint backward Please respond to compatibility with SwA [EMAIL PROTECTED] he.org Hi, It's not in the way you create the message. It is how the message looks like in the wire.. MTOM can be considered as a special case of SwA.. Even though MTOM includes xop:include tags, it is possible to extract the attachment using SwA enabled web service processor. See here[1] too.. thanks, Thilina [1]http://ws.apache.org/axis2/1_3/mtom-guide.html#33 On Feb 19, 2008 3:18 AM, [EMAIL PROTECTED] wrote: Hi, Is it possible to create an endpoint operation that can respond either MTOM or SwA depending on the request? I read the Attachments/MTOM guide and first I understood it as MTOM was already backward compatible with SwA. But if I enable MTOM for my endpoint it always returns a xop:include (mtom) no matter how i call the service. And if I enable SwA instead of MTOM for the endpoint it still returns a xop:include but with an empty attachment. Afterwards I read the following article http://wso2.org/library/1675; and I could then see the implementation for SwA was different from MTOM. You manually add your attachment to the outgoing MessageContext where as MTOM uses OMText on OMFactory. Can I conclude that it isn't possible to create an MTOM endpoint operation that is backward compatible with SwA? Regards Multi-Support A/S Torben Riis Phone +45 96 600 600, Fax +45 96 600 601 E-mail: [EMAIL PROTECTED] http://www.multi-support.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Thilina Gunarathne - http://thilinag.blogspot.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: retrieving MTOM in a client
It is the web service engine which host your web service. No idea about how to do it in Jboss.. But it definitely looks like a huge bug to me, as the server sends out a MIME/Multipart message, without putting the Mime/multipart content type and the boundary in the http headers. It's virtually impossible to process such a message correctly by any client.. ~Thilina On Feb 19, 2008 7:37 AM, Etches, Adam (GE Infra, Energy) [EMAIL PROTECTED] wrote: Thanks, Any ideas where this is configured or set up? Adam -Original Message- From: Thilina Gunarathne [mailto:[EMAIL PROTECTED] Sent: 19 February 2008 12:29 To: axis-user@ws.apache.org Subject: Re: retrieving MTOM in a client Hi, As I expected, the content-type http header is incorrect.. See here[1] for an example from the spec.. Content-Type: application/xml;charset=UTF-8 This should be as follows, Content-Type: Multipart/Related; boundary=MIMEBoundaryurn_uuid_4DDAF973E789AF02831203334635830;type=application/xop+xml;start=...; What surprises me is the fact that, Axis2 extracted the SOAP message without knowing the Mime Boundary :). thanks, Thilina [1] http://www.w3.org/TR/2004/PR-xop10-20041116/#xop_package_svg_sample Transfer-Encoding: chunked Date: Mon, 18 Feb 2008 11:37:15 GMT 494 --MIMEBoundaryurn_uuid_4DDAF973E789AF02831203334635830 Content-Type: application/xop+xml; charset=UTF-8; type=application/soap+xml Content-Transfer-Encoding: binary Content-ID: 0.urn:uuid:[EMAIL PROTECTED] ns:mapResponse xmlns:ns=http://samples.webservice.gss/xsd;ns:returnns:mapns:ma p_return_typens:display_style_nameAuto/ns:display_style_name ns:crsuk_british_national_grid_mm/ns:crsns:centre283355000. 00,542605000.00/ns:centrens:image_layers{sw_map=com.gesmallwo rld.gss.ser [EMAIL PROTECTED]/ns:image_layersns:unitsmm/ns:u nitsns:style_groupdefault/ns:style_groupns:options{}/ns:option sns:view _scale9846153.846153846/ns:view_scalens:rotation0.0/ns:rotation ns:map_element_keyswrefVdisplay_styleVidZ0Q1/ns:map_element_keyns :worldswr efVworldVdatasetZgisVuniverseZ0VworldZ0/ns:worldns:ace_namedefault/ns:ace_namens:namesw_default/ns:namens:map_imagexop:Include href=cid: 1.urn:uuid:[EMAIL PROTECTED] xmlns:xop=http://www.w3.org/2004/08/xop/include; //ns:map_image/ns:map_return_type/ns:ma p/ns:return/ns:mapResponse 38 --MIMEBoundaryurn_uuid_4DDAF973E789AF02831203334635830 59d Content-Type: image/jpeg Content-Transfer-Encoding: binary Content-ID: 1.urn:uuid:[EMAIL PROTECTED] ►JFIFC ♠ ↔§▬#▼%$▼!+7/)4)!0A149;%.DICH7=;C☺ .REMOVED REST OF BINARY FILE... -Original Message- From: Thilina Gunarathne [mailto:[EMAIL PROTECTED] Sent: 19 February 2008 02:54 To: axis-user@ws.apache.org Subject: Re: retrieving MTOM in a client Hi, the content type should be as follows.. Content-Type: Multipart/Related;boundary=your_MIME_boundary; type=application/xop+xml;start=... Looks like Axis2 does not recognize your message as a MTOM message..It should print the binary payload in base64 encoding if it does, not the xop:Include element.. What is your server.. Can you post the full HTTP Headers... thanks, Thilina On Feb 18, 2008 10:50 AM, Etches, Adam (GE Infra, Energy) [EMAIL PROTECTED] wrote: Hi, The http headers have the content-type set to application/xop+xml, this seems incorrect should it be multipart? Below is the system print of the mapImage element: ns:map_image xmlns:ns=http://samples.webservice.gss/xsd;xop:Include xmlns:xop=http://www.w3.org/2004/08/xop/include; href=cid:1.urn:uuid:[EMAIL PROTECTED] //ns:map_image thanks for the help. Adam From: Thilina Gunarathne [mailto:[EMAIL PROTECTED] Sent: 16 February 2008 13:49 To: axis-user@ws.apache.org Subject: Re: retrieving MTOM in a client Hi, The SOAP Message looks fine... Can you also look at the HTTPHeaders.. Specially the content-type header and see whether it has multipart/related and type=application/xop+xml I doubt whether something is wrong in the content type and Axis2 cannot recognize it as a MTOM message.. Also try printing the content of the mapImage element using mapImage.toString()... thanks, Thilina On Feb 13, 2008 11:31 AM, Etches, Adam (GE Infra, Energy) [EMAIL PROTECTED] wrote: Thanks Thilina, the SOAP message is below: I'm sure the client worked once but then stopped? The client code extract is: OMText binaryNode = (OMText) mapImage.getFirstOMChild(); DataHandler actualDH = (DataHandler) binaryNode.getDataHandler(); soapenv:Envelope xmlns:soapenv=http://www.w3.org/2003/05/soap-envelope; soapenv:Body ns:mapResponse
Re: Axis2 MTOM + module
Thanks for the hint with setting the respective OMText node to binary and optimization. That works. What I do in particular is that I remove the large OMText nodes before xslt transformation to keep the string that is transformed within a reasonable length and afterwards add the OMText nodes again to the right position. Then Axis2 does all the MTOM stuff correctly. So thanks for your help! Simon Thilina Gunarathne wrote: Hello, I have the following problem: I have a service that does MTOM. In a Module on the client side, i need to do some xslt transformation on the soap structure. But when I do that (I use Saxon9 for xslt transformation) I need to convert that SOAP message to a string to apply that xslt transformer. When I rebuild the transformed soap envelope again with the StAXSOAPModelBuilder all MTOM information is somehow lost... When you convert the whole SOAP message to a String using Axiom API's, the MTOM attachments become text nodes having the attachment content encoded in base64. But if you write the message object model using MTOMWriter, then those text nodes will be written as attachments.. But if you just took out the string, then there won't be any information about MTOM.. Also on a side note use the MTOMStAXSOAPModelBuilder if you want to build a MTOM message.. But it will not solve your issue.. I already tried to get the MTOM attachments on the client side inside the module, but there the attachmentsmap conveyed in the message context is empty. Did you try monitoring the actual wire level message did you see the attachment's in it.. One reason might be that the attachments are still not build due to differed building of Axis2. Try calling SOAPEnvelope.buildWithAttachments(); My question now is: how can I preserve mtom information after in the client module when I need to transform the soap string? Should be possible if you need only to transform the contents of the root mime part, as you have mentioned below. On the server side I managed to do it by reading out the 0th attachments, which is the soap envelope and alter this one. Through that the attachments are not built into the soap envelope. But on the client module I do not seem to have access to the MTOM message... is it somehow possible to intercept the MTOM message on the client side? Same as in the server... Btw: the module's handler on the client side is bount to the MessageOut phase. hmm...too bad.. I was under the impression that you are talking about receiving a message in the client side. In this case attachments are not processed and they are not in the MAP.. AttachmentMAP is populated only for incoming messages. Only clear solution I can think of is to manually traverse the rebuilt SOAPMessage and then to mark all the text nodes that contains binary content as follows.. textNode.setBinary(true); textNode.setOptimized(true); thanks, Thilina Thanks for your help and input, Best regards Simon - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Axis2 MTOM + module
cool :).. On Feb 19, 2008 8:27 AM, Simon Steinacker [EMAIL PROTECTED] wrote: Thanks for the hint with setting the respective OMText node to binary and optimization. That works. What I do in particular is that I remove the large OMText nodes before xslt transformation to keep the string that is transformed within a reasonable length and afterwards add the OMText nodes again to the right position. Then Axis2 does all the MTOM stuff correctly. So thanks for your help! Simon Thilina Gunarathne wrote: Hello, I have the following problem: I have a service that does MTOM. In a Module on the client side, i need to do some xslt transformation on the soap structure. But when I do that (I use Saxon9 for xslt transformation) I need to convert that SOAP message to a string to apply that xslt transformer. When I rebuild the transformed soap envelope again with the StAXSOAPModelBuilder all MTOM information is somehow lost... When you convert the whole SOAP message to a String using Axiom API's, the MTOM attachments become text nodes having the attachment content encoded in base64. But if you write the message object model using MTOMWriter, then those text nodes will be written as attachments.. But if you just took out the string, then there won't be any information about MTOM.. Also on a side note use the MTOMStAXSOAPModelBuilder if you want to build a MTOM message.. But it will not solve your issue.. I already tried to get the MTOM attachments on the client side inside the module, but there the attachmentsmap conveyed in the message context is empty. Did you try monitoring the actual wire level message did you see the attachment's in it.. One reason might be that the attachments are still not build due to differed building of Axis2. Try calling SOAPEnvelope.buildWithAttachments(); My question now is: how can I preserve mtom information after in the client module when I need to transform the soap string? Should be possible if you need only to transform the contents of the root mime part, as you have mentioned below. On the server side I managed to do it by reading out the 0th attachments, which is the soap envelope and alter this one. Through that the attachments are not built into the soap envelope. But on the client module I do not seem to have access to the MTOM message... is it somehow possible to intercept the MTOM message on the client side? Same as in the server... Btw: the module's handler on the client side is bount to the MessageOut phase. hmm...too bad.. I was under the impression that you are talking about receiving a message in the client side. In this case attachments are not processed and they are not in the MAP.. AttachmentMAP is populated only for incoming messages. Only clear solution I can think of is to manually traverse the rebuilt SOAPMessage and then to mark all the text nodes that contains binary content as follows.. textNode.setBinary(true); textNode.setOptimized(true); thanks, Thilina Thanks for your help and input, Best regards Simon - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Thilina Gunarathne - http://thilinag.blogspot.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
org.w3c.dom.DOMException: WRONG_DOCUMENT_ERR: A node is used in a different document than the one that created it.
I am creating an API layer over the Axis generated classes - one of the methods created from the wsdl2java class generation was 'getAlertInterfaces' which returns 'AlertInterface[]'. When I try to pass the 'AlertInterface' array that was returned form 'getAlertIntefaces' I get the following exception: Is there a way to use returned objects in other classes? I feel like this should be a common problem as it seems to happen with any data type that is not standard... Thanks in advance. Exception in thread main AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: org.w3c.dom.DOMException: WRONG_DOCUMENT_ERR: A node is used in a different document than the one that created it. faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace:org.w3c.dom.DOMException: WRONG_DOCUMENT_ERR: A node is used in a different document than the one that created it. at com.sun.org.apache.xerces .internal.dom.ParentNode.internalInsertBefore(ParentNode.java:389) at com.sun.org.apache.xerces.internal.dom.ParentNode.insertBefore( ParentNode.java:321) at com.sun.org.apache.xerces.internal.dom.NodeImpl.appendChild( NodeImpl.java:275) at org.apache.axis.message.SOAPFaultBuilder.onEndChild( SOAPFaultBuilder.java:305) at org.apache.axis.encoding.DeserializationContext.endElement( DeserializationContext.java:1090) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement( AbstractSAXParser.java:633) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement (XMLNSDocumentScannerImpl.java:719) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch (XMLDocumentFragmentScannerImpl.java:1685) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument (XMLDocumentFragmentScannerImpl.java:368) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse( XML11Configuration.java:834) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse( XML11Configuration.java:764) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse( XMLParser.java:148) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse( AbstractSAXParser.java:1242) at javax.xml.parsers.SAXParser.parse(SAXParser.java:375) at org.apache.axis.encoding.DeserializationContext.parse( DeserializationContext.java:227) at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696) at org.apache.axis.Message.getSOAPEnvelope(Message.java:435) at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke( MustUnderstandChecker.java:62) at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206) at org.apache.axis.client.Call.invokeEngine(Call.java:2784) at org.apache.axis.client.Call.invoke(Call.java:2767) at org.apache.axis.client.Call.invoke(Call.java:2443) at org.apache.axis.client.Call.invoke(Call.java:2366) at org.apache.axis.client.Call.invoke(Call.java:1812) at com.cable.comcast.axis.arbor.PeakflowSP.PeakflowSPBindingStub.getAlertInterfaces (PeakflowSPBindingStub.java:448) at com.cable.comcast.nsec.debug.PeakflowSPBindingStubTest.main( PeakflowSPBindingStubTest.java:45)
RE: WS-Security, SSL or both
What type of message traffic are you expecting? SOAP? We are working on a WS-Security acceleration product that currently uses SW and supports our HW acceleration plans. Yes, signature acceleration et al. Just for kicks (not like we all have a lot of time), you might want to look at www.intel.com/software/xml . There is an AXIS2 compatible Beta in Linux for download. We will have Windows support and a Java API available in Beta at the end of March 08. David E.A. Johnson Director, Digital Security Products Intel Corporation SSG-MMD 1815 S. Meyers Rd., Suite 150 Oakbrook Terrace, Illinois 60441 770-433-3272 direct 404-769-7207 mobile -Original Message- From: Paul Fremantle [mailto:[EMAIL PROTECTED] Sent: Monday, February 18, 2008 5:31 PM To: axis-user@ws.apache.org; Ruchith Fernando Subject: Re: WS-Security, SSL or both I'm copying Ruchith... he's the real guru. But here are some answers: The web method implementations must be aware of the client identity... so authentication information must be available to the web method.. Would username/token do? Or do you need the authentication to be based on certificates? 1) Is it possible to access two-way SSL authentication information from a web service? (assuming SSL is setup on the axis server - no reverse proxy) You can always access the Tomcat/Servlet/HTTP context, so if the SSL client cert information is available from the servlet context (which it is) you can get at it in your Axis2 service. 2) if not.. would it make sense to have one-way SSL for encryption and XML-Signature for authentication? how would that perform? Would XML-Signature increase the message size drastically? Any alternatives? Unfortunately its not just encryption that is slow. Basically the signature has to do the following: A) create a hash of the message B) Encrypt the hash with the private key (which is how signatures work) The hash uses an xml algorithm called DOMHash, which is not very fast. The public/private key signature isn't very efficient either. So, the result is you'll still have a performance hit. The alternative is to use Username/Token for authentication, or if that is no good, you can use X509Token for authentication. So effectively you can use SSL for encryption and use a client cert to authenticate, but no message signature. There is another alternative, which is to use WS-Trust and WS-SecureConversation. This makes life more efficient if you have more than one message exchange (which I'm guessing you will if this is a B2B sort of situation). Basically, the client uses UserName token or the X509 cert to set up the session. Then the server issues a token. The token acts as an ephemeral key which can be used for traditional symmetric encryption and signature. So now the conversation can proceed much more efficiently. 3) I also read that PK encryption is too intensive for message encryption.. and is normally used to to exchange a session key - does the performance problem apply to digital signatures? is the session key exchange part of the Ws-Security spec or do I have to develop a web method that generates the session key? Basically this is the model I described with WS-Trust and SecureConv. Effectively this models the session startup that SSL does in XML. The upside is the efficiency. The downside is that you need more stuff. So for example, you can interoperate with .NET, but some older stacks don't do WS-SecConv and Trust. Paul -- Paul Fremantle Co-Founder and VP of Technical Sales, WSO2 OASIS WS-RX TC Co-chair blog: http://pzf.fremantle.org [EMAIL PROTECTED] Oxygenating the Web Service Platform, www.wso2.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: MTOM endpoint backward compatibility with SwA
Okey, but if I generate a .net client without WSE3 (.net should by standard understand SwA), it complains about it couldn't parse the xop:include tag. Interoperability is not in the WSDL level... On the other hand, AFAIK there isn't a standard universal accepted way to define SwA attachments in the WSDL.. By good reason since the wsdl doesn't define any xop:include elements. Actually I thought it was MTOM that knew xop:include tags shouldn't be parsed and handled special. yes,.it is.. The special case I was talking about is the wire level.. SwA does not define a standard element like xop:include to bind the attachments to the XML content of the message. People are free to embed the content-id of Attachment in any way they like.. Hence it is application specific. But MTOM introduced the standardized xop:include element to bind the attachment content to the Xml content in the appropriate location. That's y I called MTOM as a special case of SwA.. If you need to receive MTOM messages in a SwA client together with a WSDL, make sure to define th xop:include explicitly.. Have I totally missed it? ;-) Do you know how other wsdl2java tools works if they only support SwA and not MTOM. Would they just ignore the returned xop:include and find the attachments anyway? I thought we are talking about web service engines and message level support.. AFAIK not many wsdl2java tools support SwA.. thanks, Thilina Regards Multi-Support A/S Torben Riis Phone +45 96 600 600, Fax +45 96 600 601 E-mail: [EMAIL PROTECTED] http://www.multi-support.com Thilina Gunarathne [EMAIL PROTECTED] To maxis-user@ws.apache.org cc 19-02-2008 13:34 Subject Re: MTOM endpoint backward Please respond to compatibility with SwA [EMAIL PROTECTED] he.org Hi, It's not in the way you create the message. It is how the message looks like in the wire.. MTOM can be considered as a special case of SwA.. Even though MTOM includes xop:include tags, it is possible to extract the attachment using SwA enabled web service processor. See here[1] too.. thanks, Thilina [1]http://ws.apache.org/axis2/1_3/mtom-guide.html#33 On Feb 19, 2008 3:18 AM, [EMAIL PROTECTED] wrote: Hi, Is it possible to create an endpoint operation that can respond either MTOM or SwA depending on the request? I read the Attachments/MTOM guide and first I understood it as MTOM was already backward compatible with SwA. But if I enable MTOM for my endpoint it always returns a xop:include (mtom) no matter how i call the service. And if I enable SwA instead of MTOM for the endpoint it still returns a xop:include but with an empty attachment. Afterwards I read the following article http://wso2.org/library/1675; and I could then see the implementation for SwA was different from MTOM. You manually add your attachment to the outgoing MessageContext where as MTOM uses OMText on OMFactory. Can I conclude that it isn't possible to create an MTOM endpoint operation that is backward compatible with SwA? Regards Multi-Support A/S Torben Riis Phone +45 96 600 600, Fax +45 96 600 601 E-mail: [EMAIL PROTECTED] http://www.multi-support.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Thilina Gunarathne - http://thilinag.blogspot.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Thilina Gunarathne - http://thilinag.blogspot.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Axis2][Savan] Can savan only be engaged globally
Hi Samir, Yes, In order for savan to work both the client sending the subscription message and the publisher service must have addressing engaged. services.xml module ref=addressing module ref=Savan The client does not have to have the savan module engaged (I believe). The example publication listener services do not have addressing engaged in their services.xml so I don't believe that it is needed. They definitely do not need the savan module. leon samir shaikh wrote: Hi Leon, What does the service xml look like in services.xml for services that we want to engage savan for. Should we also engage addressing?.. Samir --- Leon Searl [EMAIL PROTECTED] wrote: Hi Samir, That was my bad. I had a mis-spelling in the services.xml that kept it from working. leon samir shaikh wrote: Hi Leon, Did you get an answer on this? Samir --- Leon Searl [EMAIL PROTECTED] wrote: Hi, I've started to try to use Savan for WS-Eventing. When I put module ref=Savan/ in my axis2.xml file (when using Axis2 under TOMCAT) I can see that Savan has been engaged for all operations for all services (by using the Axis2 admin web page). When I only put module ref=Savan/ in the service.xml file of one service (and remove it from the axis2.xml) I dont see Savan engaged for my service (when using the Axis2 admin webpage to see which serivce/operations have modules engaged). Can Savan only be engaged globally? Thanks leon -- Leon S. Searl, Software Research Engineer Information and Telecommunication Technology Center, University of Kansas Nichols Hall, 2335 Irving Hill Road, Lawrence, KS 66045-7612 Ph: 785-864-7820 Fax: 785-864-0387 http://www.ittc.ku.edu - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Looking for last minute shopping deals? Find them fast with Yahoo! Search. http://tools.search.yahoo.com/newsearch/category.php?category=shopping - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Leon S. Searl, Software Research Engineer Information and Telecommunication Technology Center, University of Kansas Nichols Hall, 2335 Irving Hill Road, Lawrence, KS 66045-7612 Ph: 785-864-7820 Fax: 785-864-0387 http://www.ittc.ku.edu - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Looking for last minute shopping deals? Find them fast with Yahoo! Search. http://tools.search.yahoo.com/newsearch/category.php?category=shopping - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Leon S. Searl, Software Research Engineer Information and Telecommunication Technology Center, University of Kansas Nichols Hall, 2335 Irving Hill Road, Lawrence, KS 66045-7612 Ph: 785-864-7820 Fax: 785-864-0387 http://www.ittc.ku.edu - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: MTOM endpoint backward compatibility with SwA
Hi Thilina Thank you for answering. I didn't know that there wasn't defined any standard for binding the attachment to the xml content for SwA. I thought the href=cid:urn:uuid in SwA was a standard like xop:include. :-) Regards Multi-Support A/S Torben Riis Phone +45 96 600 600, Fax +45 96 600 601 E-mail: [EMAIL PROTECTED] http://www.multi-support.com Thilina Gunarathne [EMAIL PROTECTED] To maxis-user@ws.apache.org cc 19-02-2008 14:58 Subject Re: MTOM endpoint backward Please respond to compatibility with SwA [EMAIL PROTECTED] he.org Okey, but if I generate a .net client without WSE3 (.net should by standard understand SwA), it complains about it couldn't parse the xop:include tag. Interoperability is not in the WSDL level... On the other hand, AFAIK there isn't a standard universal accepted way to define SwA attachments in the WSDL.. By good reason since the wsdl doesn't define any xop:include elements. Actually I thought it was MTOM that knew xop:include tags shouldn't be parsed and handled special. yes,.it is.. The special case I was talking about is the wire level.. SwA does not define a standard element like xop:include to bind the attachments to the XML content of the message. People are free to embed the content-id of Attachment in any way they like.. Hence it is application specific. But MTOM introduced the standardized xop:include element to bind the attachment content to the Xml content in the appropriate location. That's y I called MTOM as a special case of SwA.. If you need to receive MTOM messages in a SwA client together with a WSDL, make sure to define th xop:include explicitly.. Have I totally missed it? ;-) Do you know how other wsdl2java tools works if they only support SwA and not MTOM. Would they just ignore the returned xop:include and find the attachments anyway? I thought we are talking about web service engines and message level support.. AFAIK not many wsdl2java tools support SwA.. thanks, Thilina Regards Multi-Support A/S Torben Riis Phone +45 96 600 600, Fax +45 96 600 601 E-mail: [EMAIL PROTECTED] http://www.multi-support.com Thilina Gunarathne [EMAIL PROTECTED] To maxis-user@ws.apache.org cc 19-02-2008 13:34 Subject Re: MTOM endpoint backward Please respond to compatibility with SwA [EMAIL PROTECTED] he.org Hi, It's not in the way you create the message. It is how the message looks like in the wire.. MTOM can be considered as a special case of SwA.. Even though MTOM includes xop:include tags, it is possible to extract the attachment using SwA enabled web service processor. See here[1] too.. thanks, Thilina [1]http://ws.apache.org/axis2/1_3/mtom-guide.html#33 On Feb 19, 2008 3:18 AM, [EMAIL PROTECTED] wrote: Hi, Is it possible to create an endpoint operation that can respond either MTOM or SwA depending on the request? I read the Attachments/MTOM guide and first I understood it as MTOM was already backward compatible with SwA. But if I enable MTOM for my endpoint it always returns a xop:include (mtom) no matter how i call the service. And if I enable SwA instead of MTOM for the endpoint it still returns a xop:include but with an empty attachment. Afterwards I read the following article http://wso2.org/library/1675; and I could then see the implementation for SwA was different from MTOM. You manually add your attachment to the outgoing MessageContext where as MTOM uses OMText on OMFactory. Can I conclude that it isn't possible to create an MTOM endpoint operation that is backward compatible with SwA? Regards Multi-Support A/S
Re: Does Axis use 128 bit encryption?
You don't need rampart just to do SSL. Rampart is for WS-Security. Paul On Feb 19, 2008 3:33 PM, Neil Aggarwal [EMAIL PROTECTED] wrote: Nandana: I am using Axis 1.4 and it looks like rampart is for Axis2. Do I need to use Axis 2? Thanks, Neil -- Neil Aggarwal, (832)245-7314, www.JAMMConsulting.com Eliminate junk email and reclaim your inbox. Visit http://www.spammilter.com for details. -Original Message- From: Nandana Mihindukulasooriya [mailto:[EMAIL PROTECTED] Sent: Monday, February 18, 2008 2:38 AM To: axis-user@ws.apache.org Subject: Re: Does Axis use 128 bit encryption? Hi Niel, How did you configure the Rampart in the client side ? thanks, /nandana On Feb 15, 2008 8:55 PM, Neil Aggarwal [EMAIL PROTECTED] wrote: Hello: I am trying to use a web service published by Sage Payments. They are rejecting the transaction because it says I am not using 128 bit encryption. How do I tell Axis to use 128 bit encryption? The url to the web service is: https://www.sagepayments.net/web_services/wsVault/wsVaultBankcard I went to that url in IE and it says the SSL certificate is 128 bit. Thanks, Neil -- Neil Aggarwal, (832)245-7314, www.JAMMConsulting.com Eliminate junk email and reclaim your inbox. Visit http://www.spammilter.com for details. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paul Fremantle Co-Founder and VP of Technical Sales, WSO2 OASIS WS-RX TC Co-chair blog: http://pzf.fremantle.org [EMAIL PROTECTED] Oxygenating the Web Service Platform, www.wso2.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Does Axis use 128 bit encryption?
Nandana: I am using Axis 1.4 and it looks like rampart is for Axis2. Do I need to use Axis 2? Thanks, Neil -- Neil Aggarwal, (832)245-7314, www.JAMMConsulting.com Eliminate junk email and reclaim your inbox. Visit http://www.spammilter.com for details. -Original Message- From: Nandana Mihindukulasooriya [mailto:[EMAIL PROTECTED] Sent: Monday, February 18, 2008 2:38 AM To: axis-user@ws.apache.org Subject: Re: Does Axis use 128 bit encryption? Hi Niel, How did you configure the Rampart in the client side ? thanks, /nandana On Feb 15, 2008 8:55 PM, Neil Aggarwal [EMAIL PROTECTED] wrote: Hello: I am trying to use a web service published by Sage Payments. They are rejecting the transaction because it says I am not using 128 bit encryption. How do I tell Axis to use 128 bit encryption? The url to the web service is: https://www.sagepayments.net/web_services/wsVault/wsVaultBankcard I went to that url in IE and it says the SSL certificate is 128 bit. Thanks, Neil -- Neil Aggarwal, (832)245-7314, www.JAMMConsulting.com Eliminate junk email and reclaim your inbox. Visit http://www.spammilter.com for details. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: WSDoAllReceiver: security processing failed error - rampart bug?
I also noticed, if the same password check fails in PWCBHandler of client side ..rampart throwing appropriate error message. org.apache.axis2.AxisFault: WSDoAllReceiver: security processing failed at org.apache.rampart.handler.WSDoAllReceiver.processBasic( WSDoAllReceiver.java:216) at org.apache.rampart.handler.WSDoAllReceiver.processMessage( WSDoAllReceiver.java:86) at org.apache.rampart.handler.WSDoAllHandler.invoke( WSDoAllHandler.java:72) at org.apache.axis2.engine.Phase.invoke(Phase.java:292) at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:212) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:132) at org.apache.axis2.description.OutInAxisOperationClient.handleResponse( OutInAxisOperation.java:336) at org.apache.axis2.description.OutInAxisOperationClient.send( OutInAxisOperation.java:389) at org.apache.axis2.description.OutInAxisOperationClient.executeImpl( OutInAxisOperation.java:211) at org.apache.axis2.client.OperationClient.execute( OperationClient.java:163) at com.nfn.wsclients.AsrsPolicyServiceStub.getStatuses( AsrsPolicyServiceStub.java:153) at com.nfn.wsclients.AsrPolicyServiceClient.printAccountStatuses( AsrPolicyServiceClient.java:35) at com.nfn.wsclients.AsrPolicyServiceClient.main( AsrPolicyServiceClient.java:23) Caused by: org.apache.ws.security.WSSecurityException: General security error (WSSecurityEngine: Callback supplied no password for: client) at org.apache.ws.security.processor.EncryptedKeyProcessor.handleEncryptedKey( EncryptedKeyProcessor.java:279) at org.apache.ws.security.processor.EncryptedKeyProcessor.handleEncryptedKey( EncryptedKeyProcessor.java:87) at org.apache.ws.security.processor.EncryptedKeyProcessor.handleToken( EncryptedKeyProcessor.java:76) at org.apache.ws.security.WSSecurityEngine.processSecurityHeader( WSSecurityEngine.java:284) at org.apache.ws.security.WSSecurityEngine.processSecurityHeader( WSSecurityEngine.java:206) at org.apache.rampart.handler.WSDoAllReceiver.processBasic( WSDoAllReceiver.java:213) ... 12 more Martin Gainty [EMAIL PROTECTED] From mail.comMartin Gainty [EMAIL PROTECTED] To [EMAIL PROTECTED] cc Subject 02/18/2008 RE: WSDoAllReceiver: security 06:31 PM processing failed error you found a Rampart bug! First we need to look at javax.security.aith.callback.CallbackHandler http://www.docjar.com/docs/api/javax/security/auth/callback/CallbackHandler . html handle method throws java.io.IOException, UnsupportedCallbackException consequent implementations carry the signature forward properly.. org.apache.rampart.samples.policy.sample05; public class PWCBHandler implements CallbackHandler { public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {//good! take a look at private static Parameter getInflowConfiguration() { InflowConfiguration ifc = new InflowConfiguration(); ifc.setActionItems(Timestamp Signature Encrypt); //how do we carry these throw IOException and UnsupportedCalbackException forward ? ifc.setPasswordCallbackClass(org.apache.rampart.samples.sample11.PWCBHandle r); ... InflowConfiguration.java contains this method.. /** * Sets the password callback class name. * @param passwordCallbackClass */ public void setPasswordCallbackClass(String passwordCallbackClass) { //save the passwordCallbackClass into the Action this.action.put(WSHandlerConstants.PW_CALLBACK_CLASS,passwordCallbackClass); } later on org.apache.rampart.conversation public class Util { //notice this method throws Exception and NOT IOException and UnsupportedCallbackException!!! public static void
[axis2] Unknown Constant Tag Error Encountered When Using java2wsdl
Hi, I'm running java2wsdl on a class file and got the following error: Exception in thread main java.lang.ClassFormatError: Unknown constant tag 13 in class file MyClass I'm using Axis2 1.3. Research on the web tells me that this is potentially due to a difference in the java version that was used to compile MyClass and the java version that Axis needs to run java2wsdl. If this is correct, can anyone tell me what java version I need to run java2wsdl? If I'm all wrong about this, please let me know what the error means. In ignorance, Steve
Re: Deploy my Service in a different war than axis2.war
Yea..it's possible..because i am already doing that way Moley Harey moleyharey@ From gmail.com Moley Harey [EMAIL PROTECTED] To axis-user@ws.apache.org cc Subject 02/19/2008 Deploy my Service in a different 01:03 PM war than axis2.war Please respond to [EMAIL PROTECTED] .apache.org Hi folks! I have developed an Axis2 Web Service and to deploy and use it in Tomcat I generate the MyService.aar file and copy it into the $CATALINA_HOME/webapps/axis2/WEB-INF/services folder so it gets deployed correctly and is accesses in the url: http://localhost:8080/axis2/services/MyService My question is if I could build my own mydeployment.war file (instead of using the standard axis2.war) and put there all the necessary jars, configuration files and my own MyService.aar and deploy it directly into Tomcat so the url to access it would be something like: http://localhost:8080/mydeployment/services/MyService Is it possible to do it? Or all services implemented using Axis2 have to be deployed into axis.war file?? Thanks in advance, Mh - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Deploy my Service in a different war than axis2.war
Hi folks! I have developed an Axis2 Web Service and to deploy and use it in Tomcat I generate the MyService.aar file and copy it into the $CATALINA_HOME/webapps/axis2/WEB-INF/services folder so it gets deployed correctly and is accesses in the url: http://localhost:8080/axis2/services/MyService My question is if I could build my own mydeployment.war file (instead of using the standard axis2.war) and put there all the necessary jars, configuration files and my own MyService.aar and deploy it directly into Tomcat so the url to access it would be something like: http://localhost:8080/mydeployment/services/MyService Is it possible to do it? Or all services implemented using Axis2 have to be deployed into axis.warfile?? Thanks in advance, Mh
Setting Connection timeout (not Socket Read timeouts !!) with Axis 1.4?
How to set/specify http Connection timeout property/value to fail fast rather than waiting for long times? (SoapStub))._setProperty(axis.connection.timeout, new Integer(connTimeout)); (SoapStub).setTimeout(timeoutvalue) The above two ways (setting on the axis stubs) will set a time out on the Socket. I want set it only on initial Connection establishment rather than read timeouts. How can this be made with Axis 1.4 stubs?
Re: WS-Security, SSL or both
The clients are large organisations that will be submitting and pulling financial transaction. so a username and password is not enough pzfreo wrote: 1) Is it possible to access two-way SSL authentication information from a web service? (assuming SSL is setup on the axis server - no reverse proxy) You can always access the Tomcat/Servlet/HTTP context, so if the SSL client cert information is available from the servlet context (which it is) you can get at it in your Axis2 service. Does this work when using axis without tomcat? pzfreo wrote: There is another alternative, which is to use WS-Trust and WS-SecureConversation. This makes life more efficient if you have more than one message exchange (which I'm guessing you will if this is a B2B sort of situation). Basically, the client uses UserName token or the X509 cert to set up the session. Then the server issues a token. The token acts as an ephemeral key which can be used for traditional symmetric encryption and signature. So now the conversation can proceed much more efficiently. WS-SecureConversation sounds interesting.. does it work with anonymous clients (behind a firewall)? Do you have any links to good implementation guides for SecureConv? I ran a quick search and all the results seem to point to the spec pzfreo wrote: Basically this is the model I described with WS-Trust and SecureConv. Effectively this models the session startup that SSL does in XML. The upside is the efficiency. The downside is that you need more stuff. So for example, you can interoperate with .NET, but some older stacks don't do WS-SecConv and Trust. interop is important for this impl..but it seems that it is supported by the Sun and ibm stacks.. please correct me if I am wrong. -- View this message in context: http://www.nabble.com/WS-Security%2C-SSL-or-both-tp15549089p15562519.html Sent from the Axis - User mailing list archive at Nabble.com.
RE: [Axis2] Manually parse SAML token
Look at opensaml library 1.1 can do SAML 1.0/1.1. opensaml 2 can do all SAML specs -Original Message- From: Lasse Tyrihjell [mailto:[EMAIL PROTECTED] Sent: Tuesday, February 19, 2008 5:38 AM To: axis-user@ws.apache.org Subject: [Axis2] Manually parse SAML token Hi! I am using an external SOAP web service that uses a nearly WS* compliant version of the SAML token implementation - i.e. Rampart deployed as an Axis2 module is not an option. Are there any helper classes/java-api's available that can help me parse/decrypt the SAML token? br -LT - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. ** - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
test - please disregard
I was not able to post to this. I am just testing to see if I can post a simple email.
Re: ADBException and Running Web Services
This should be a problem with the request message. to give a correct answer we need to have the whole wsdl file. Here it seems to be a problem with the namespaces. Generate a java client and try to invoke the service. then compare the two requests. thanks, Amila. On Feb 19, 2008 9:34 AM, Twinkle Thakkar [EMAIL PROTECTED] wrote: Hi, We are facing an issue with our web services developed using axis2-1.3. We have used Eclipse plugin to generate java code from wsdl. The web services are working fine when called using Eclipse Web Services Explorer or Java Client. But we are not able to communicate with all our parameterized web methods using SOAP Client availabe @ http://www.ditchnet.org/soapclient/. Following is the error description of one of the parameterized methods: We recieve an ADBException - org.apache.axis2.databinding.ADBException: Unexpected subelement directoryListing. Here, directoryListing is the parameter we pass to the web method. Following is the wsdl description for the method: ... xsd:element name=ListDirectory xsd:complexType xsd:sequence xsd:element name=directoryListing type=xsd:string /xsd:element xsd:element name=alsoListFiles type=xsd:boolean /xsd:element /xsd:sequence /xsd:complexType /xsd:element xsd:element name=ListDirectoryResponse xsd:complexType xsd:sequence xsd:element name=directoryListing type=xsd:string /xsd:element /xsd:sequence /xsd:complexType /xsd:element ... ... wsdl:operation name=ListDirectory wsdl:input message=impl:ListDirectoryRequest /wsdl:input wsdl:output message=impl:ListDirectoryResponse /wsdl:output /wsdl:operation ... ... wsdl:operation name=ListDirectory wsdlsoap:operation soapAction=http://www.123.com/ListDirectory; / wsdl:input wsdlsoap:body use=literal / /wsdl:input wsdl:output wsdlsoap:body use=literal / /wsdl:output /wsdl:operation ... When we try to access our web method using Eclipse, we find following soap request: ?xml version=1.0 encoding=UTF-8 ? soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/; xmlns:q0=http://123.com; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; soapenv:Body q0:ListDirectory directoryListing//directoryListing alsoListFilestrue/alsoListFiles /q0:ListDirectory /soapenv:Body /soapenv:Envelope And following soap request we find while we try to access our web method using soap client: ?xml version=1.0 encoding=UTF-8? SOAP-ENV:Envelope xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns:SOAP-ENC=http://schemas.xmlsoap.org/soap/encoding/; SOAP-ENV:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/; SOAP-ENV:Body ListDirectory xmlns=http://123.com; directoryListing xsi:type=xsd:string\/directoryListing alsoListFiles xsi:type=xsd:booleantrue/alsoListFiles /ListDirectory /SOAP-ENV:Body /SOAP-ENV:Envelope Please suggest us a solution to this issue. Thanks. Twinkle. -- Amila Suriarachchi, WSO2 Inc.
I'm having a problem using Axis2. What should I do?
Hi all: I publish a web service using axis2 on websphere 5.1, also i can invoke this webservice correctly with java application client ,but i cann't ivoke this webservice in jsp with the same client code.The client code is: .. RPCServiceClient serviceClient = new RPCServiceClient(); Options options = serviceClient.getOptions(); EndpointReference targetEPR = new EndpointReference(serviceURL); options.setTo(targetEPR); options.setTransportInProtocol(Constants.TRANSPORT_HTTP); .. Object[] response = serviceClient.invokeBlocking(opFindEntry,opFindEntryArgs, returnTypes); The exception in running jsp is: org.apache.axis2.AxisFault: The server failed to process the WS-Addressing header: wsa:Action [Reason]: A header representing a Message Addressing Property is not valid and the message cannot be processed [08-2-20 9:23:38:177 CST] 57fa3a39 SystemErr R at org.apache.axis2.handlers.addressing.AddressingInFaultHandler.invoke(AddressingInFaultHandler.java:114) [08-2-20 9:23:38:177 CST] 57fa3a39 SystemErr R at org.apache.axis2.engine.Phase.invoke(Phase.java:292) [08-2-20 9:23:38:177 CST] 57fa3a39 SystemErr R at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:212) [08-2-20 9:23:38:177 CST] 57fa3a39 SystemErr R at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:132) [08-2-20 9:23:38:177 CST] 57fa3a39 SystemErr R at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:336) [08-2-20 9:23:38:177 CST] 57fa3a39 SystemErr R at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:389) [08-2-20 9:23:38:177 CST] 57fa3a39 SystemErr R at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211) [08-2-20 9:23:38:177 CST] 57fa3a39 SystemErr R at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163) [08-2-20 9:23:38:177 CST] 57fa3a39 SystemErr R at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:528) [08-2-20 9:23:38:177 CST] 57fa3a39 SystemErr R at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:508) [08-2-20 9:23:38:177 CST] 57fa3a39 SystemErr R at org.apache.axis2.rpc.client.RPCServiceClient.invokeBlocking(RPCServiceClient.java:101) Thanks in advance,zhyj. ___ 雅虎邮箱传递新年祝福,个性贺卡送亲朋! http://cn.mail.yahoo.com/gc/index.html?entry=5souce=mail_mailletter_tagline
How to get the properties in context.xml in the server skeleton class
Hi all, I would like to know is it possible to get the properties' values from the file 'context.xml' in CATALINA_HOME\webapps\axis2\META-INF. The example of context.xml ?xml version=1.0 encoding=UTF-8? Context path=/axis2 Parameter name=xsltDirectory value=xslt override=false / Parameter name=testDirectory value=test override=false / /Context It said on Tomcat document that the value can be retrieved by calling ServletContext.getInitParameter(), but I do not know how to get this data via the Axis2 server skeleton class. Thank you for any help in advance. Cheers, Suriya - Looking for last minute shopping deals? Find them fast with Yahoo! Search.
ADB Binding error - Probably BUG
Hi, We are developing a Axis2 Top-Down WebService and while invoking WS we are getting following exception at client side - Exception in thread main java.lang.OutOfMemoryError: Java heap space at ws.schemas.EmployeeRs_TypeSequence_type1$Factory.parse(* EmployeeRs_TypeSequence_type1.java:388*) at ws.schemas.EmployeeRs_TypeSequence_type2$Factory.parse(* EmployeeRs_TypeSequence_type2.java:562*) at After debugging it is noticed that, it is going in an infinite loop in class EmployeeRs_TypeSequence_type2.java generated from schema - while (!loopDone2) { // Step to next element event. while (!reader.isStartElement() !reader.isEndElement()) reader.next(); if (reader.isEndElement()) { //two continuous end elements means we are exiting the xml structure loopDone2 = true; } else { list2.add( ws.schemas.EmployeeRs_TypeSequence_type1.Factory.parse( reader)); } } Corresponding Schema causing trouble – *xsd:sequence* minOccurs=0 xsd:element name=EmpNo type=xsd:int/ *xsd:sequence* minOccurs=0 maxOccurs=unbounded xsd:element name=Role type=xsd:string minOccurs=0 / /*xsd:sequence* xsd:element name=Salary type=xsd:long/ /*xsd:sequence* While going through the inner sequence, its never coming out of while loop mentioned above. We can't change our WSDL and Schema at this stage and have to make it work. Is it a defect in AXIS 2 ADB binding? Or we doing something wrong here? Any help is much appreciated.Thanking you all in anticipation. P.S. We are using following command to create the stub and other classes from Schema. – wsdl2java -uri D:.\Sequence.wsdl -o D:\Sequence -p wsdl.Sequence -s -ss -sd -d adb -g -ns2p urn:sequence:XSD:1=ws.schemas,urn:sequence:XSD:a= wsdl.Sequence -ssi ?xml version=1.0 encoding=UTF-8? wsdl:definitions name=Employee xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/; xmlns:mime=http://schemas.xmlsoap.org/wsdl/mime/; xmlns:soap=http://schemas.xmlsoap.org/wsdl/soap/; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns=urn:sequence:XSD:a xmlns:ns1=urn:sequence:XSD:1 targetNamespace=urn:sequence:XSD:a wsdl:types xsd:schema targetNamespace=urn:sequence:XSD:a elementFormDefault=qualified attributeFormDefault=unqualified xmlns=urn:sequence:XSD:1 xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:y=urn:sequence:XSD:a xsd:import namespace=urn:sequence:XSD:1 schemaLocation=SequenceSchema.xsd/ xsd:element name=DoEmployeeUpdtRq xsd:complexType xsd:sequence xsd:element ref=ns1:EmployeeRq / /xsd:sequence /xsd:complexType /xsd:element xsd:element name=DoEmployeeUpdtRs xsd:complexType xsd:sequence xsd:element ref=ns1:EmployeeRs / /xsd:sequence /xsd:complexType /xsd:element /xsd:schema /wsdl:types wsdl:message name=DoEmployeeUpdtRqMsg wsdl:part name=request element=ns:DoEmployeeUpdtRq/ /wsdl:message wsdl:message name=DoEmployeeUpdtRsMsg wsdl:part name=response element=ns:DoEmployeeUpdtRs/ /wsdl:message wsdl:portType name=Employee_portType wsdl:operation name=EmployeeUpdt wsdl:input message=ns:DoEmployeeUpdtRqMsg/ wsdl:output message=ns:DoEmployeeUpdtRsMsg/ /wsdl:operation /wsdl:portType wsdl:binding name=Employee_binding type=ns:Employee_portType soap:binding style=document transport=http://schemas.xmlsoap.org/soap/http/ wsdl:operation name=EmployeeUpdt soap:operation soapAction=http://tbd/EmployeeSvc/EmployeeUpdt; style=document/ wsdl:input soap:body use=literal/ /wsdl:input wsdl:output soap:body use=literal/ /wsdl:output /wsdl:operation /wsdl:binding wsdl:service name=EmployeeSvc wsdl:port name=Employee_port binding=ns:Employee_binding soap:address location=http://tbd/EmployeeSvc// /wsdl:port /wsdl:service /wsdl:definitions SequenceSchema.xsd Description: Binary data - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
回复: I'm having a problem using Axis2. What should I do?
I find a solution to this problem.in,add code in jsp: options.setAction(actionName); - 原始邮件 发件人: 雪莉 焦 [EMAIL PROTECTED] 收件人: axis-user@ws.apache.org 已发送: 2008/2/20(周三), 下午1:33:42 主题: I'm having a problem using Axis2. What should I do? Hi all: I publish a web service using axis2 on websphere 5.1, also i can invoke this webservice correctly with java application client ,but i cann't ivoke this webservice in jsp with the same client code.The client code is: .. RPCServiceClient serviceClient = new RPCServiceClient(); Options options = serviceClient.getOptions(); EndpointReference targetEPR = new EndpointReference(serviceURL); options.setTo(targetEPR); options.setTransportInProtocol(Constants.TRANSPORT_HTTP); .. Object[] response = serviceClient.invokeBlocking(opFindEntry,opFindEntryArgs, returnTypes); The exception in running jsp is: org.apache.axis2.AxisFault: The server failed to process the WS-Addressing header: wsa:Action [Reason]: A header representing a Message Addressing Property is not valid and the message cannot be processed [08-2-20 9:23:38:177 CST] 57fa3a39 SystemErr R at org.apache.axis2.handlers.addressing.AddressingInFaultHandler.invoke(AddressingInFaultHandler.java:114) [08-2-20 9:23:38:177 CST] 57fa3a39 SystemErr R at org.apache.axis2.engine.Phase.invoke(Phase.java:292) [08-2-20 9:23:38:177 CST] 57fa3a39 SystemErr R at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:212) [08-2-20 9:23:38:177 CST] 57fa3a39 SystemErr R at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:132) [08-2-20 9:23:38:177 CST] 57fa3a39 SystemErr R at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:336) [08-2-20 9:23:38:177 CST] 57fa3a39 SystemErr R at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:389) [08-2-20 9:23:38:177 CST] 57fa3a39 SystemErr R at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211) [08-2-20 9:23:38:177 CST] 57fa3a39 SystemErr R at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163) [08-2-20 9:23:38:177 CST] 57fa3a39 SystemErr R at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:528) [08-2-20 9:23:38:177 CST] 57fa3a39 SystemErr R at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:508) [08-2-20 9:23:38:177 CST] 57fa3a39 SystemErr R at org.apache.axis2.rpc.client.RPCServiceClient.invokeBlocking(RPCServiceClient.java:101) Thanks in advance,zhyj. 雅虎邮箱传递新年祝福,个性贺卡送亲朋! ___ 雅虎邮箱传递新年祝福,个性贺卡送亲朋! http://cn.mail.yahoo.com/gc/index.html?entry=5souce=mail_mailletter_tagline