Re: what's wrong with this code
resolved, the directory didn't have the write permission. I think the error message should be populated correctly. Uthaiyashankar wrote: Can you check whether any errors are reported in log files? Regards, Shankar On Tue, Jun 23, 2009 at 5:36 PM, Abdul Sami as...@folio3.com mailto:as...@folio3.com wrote: if ( AXIS2_SUCCESS != axiom_data_handler_write_to(data_handler, env) ) { const axis2_char_t* pMsg = axutil_error_get_message( env-error ); // pMsg = No Error } with Error message saying No Error, how can i troubleshoot this? -- S.Uthaiyashankar Software Architect WSO2 Inc. http://wso2.com/ - The Open Source SOA Company
Re: SSL : setting up truststore (and keystore?)
Hi, I have a strange problem with using SSL server. I have a war application which has a jar that connects to a SSL web service. System.setProperty(javax.net.ssl.keyStore, url.getPath()); System.setProperty(jjavax.net.ssl.keyStoreType, jks); System.setProperty(javax.net.ssl.keyStorePassword, changeit); System.setProperty(javax.net.ssl.trustStore, url.getPath()); System.setProperty(javax.net.ssl.trustStoreType, jks); System.setProperty(javax.net.ssl.trustStorePassword, changeit); First time, when I deploy the application on weblogic server everything works, but after restarting the application server then I get no trust certificate found any idea please thanks On Wed, Jun 24, 2009 at 7:19 AM, Dennis Sosnoski d...@sosnoski.com wrote: Hi Shasta, I've never had any problems setting the client truststore using the javax.net.ssl.truststore property, so I suspect something is wrong with your actual truststore/keystore files. You might want to check what's actually in the stores using a tool such as http://portecle.sourceforge.net/ For convenience, you can also set the value of these properties using JVM parameters rather than in your client code, using this type of format: -Djavax.net.ssl.trustStore=path If you do a search on javax.net.ssl.truststore you'll find many articles and discussions of the topic. The Tomcat documentation also has a good discussion of configuring SSL for the server, though I don't think that includes anything on a Java client configuration. - Dennis -- Dennis M. Sosnoski Java XML and Web Services Axis2 Training and Consulting http://www.sosnoski.com - http://www.sosnoski.co.nz Seattle, WA +1-425-939-0576 - Wellington, NZ +64-4-298-6117 Shasta Willson wrote: Thought I'd reply to my own message with some information that might be useful: despite using keytool (http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html) to install the certificate, and various combinations of these properties to theoretically point to it (where keyStore and trustStorePass are paths to generated files): System.setProperty(javax.net.ssl.keyStore,keyStore); System.setProperty(javax.net.ssl.keyStorePassword, keyPass); System.setProperty(javax.net.ssl.trustStore, trustStore); System.setProperty(javax.net.ssl.trustStorePassword, trustStorePass); I never did get it to work that way. (I eventually built an SSLTest.java that JUST connected so I could eliminate other configuration issues, but even in that simplified context I couldn't get it working.) What finally worked for me (for the SSLTest program) was to put the certificate into the normal java location and over-write cacerts. I could do that since noone else is using Java on this server and this is the first time I've needed to place a certificate. i.e. I wasn't going to break something else in the process. I found this very useful tool during my research : http://dreamingthings.blogspot.com/2006/12/no-more-unable-to-find-valid.html I could have avoided three days waiting for the service-owner to send a certificate, had I known about it. Hope that helps someone else save time. - Shasta On Tue, Jun 23, 2009 at 8:34 AM, Shasta Willsonshas...@gmail.com wrote: I have an SSL secured web service to consume. It also uses a usertoken/password in the SOAP header, which I'm doing with Rampart, but I don't think that's relevant to my question. I'd like to understand how to go from have a certificate to trustStore (and/or KeyStore?) properly configured. Currently I get this error, which a google search suggests is related to not having it set up right: org.apache.axis2.AxisFault: Unconnected sockets not implemented at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) Thank you, - Shasta
Re: SSL : setting up truststore (and keystore?)
I'm surprised this works at all in an app server environment. The app server should have some way of configuring SSL support, and even though that configuration is going to be intended more for inbound connections it might also have settings for outbound connections. Aside from that, you can take direct control over the authentication of the presented server certificate by implementing your own TrustManager. Here's a method which illustrates this approach, from an open source project I developed which needed to work with custom certificate authorities for server SSL/TLS certificates: /** * Open a connection to a server. If the connection type is 'https' and a * certificate authority keystore is supplied, that certificate authority * will be used when establishing the connection to the server. * * @param target destination URL (must use 'http' or 'https' protocol) * @param castore keystore containing certificate authority certificate * @return connection * @throws IOException * @throws NoSuchAlgorithmException * @throws KeyManagementException * @throws KeyStoreException */ private HttpURLConnection openConnection(String target, KeyStore castore) throws IOException, NoSuchAlgorithmException, KeyManagementException, KeyStoreException { URL url = new URL(target); HttpURLConnection conn = (HttpURLConnection)url.openConnection(); if (castore != null target.toLowerCase().startsWith(https:)) { String alg = TrustManagerFactory.getDefaultAlgorithm(); SSLContext context = SSLContext.getInstance(TLS); TrustManagerFactory tmfact0 = TrustManagerFactory.getInstance(alg); tmfact0.init((KeyStore)null); final TrustManager[] managers0 = tmfact0.getTrustManagers(); TrustManagerFactory tmfact1 = TrustManagerFactory.getInstance(alg); tmfact1.init(castore); final TrustManager[] managers1 = tmfact1.getTrustManagers(); TrustManager manager = new X509TrustManager() { private X509TrustManager getTM(TrustManager[] tms) { for (int i = 0; i tms.length; i++) { TrustManager tm = tms[i]; if (tm instanceof X509TrustManager) { return (X509TrustManager)tm; } } return null; } public void checkClientTrusted(X509Certificate[] chain, String type) throws CertificateException { X509TrustManager tm = getTM(managers0); if (tm != null) { tm.checkClientTrusted(chain, type); } } public void checkServerTrusted(X509Certificate[] chain, String type) throws CertificateException { X509TrustManager tm = getTM(managers0); if (tm != null) { try { tm.checkServerTrusted(chain, type); return; } catch (CertificateException e) { // deliberately empty } } tm = getTM(managers1); if (tm != null) { try { tm.checkServerTrusted(chain, type); return; } catch (CertificateException e) { // deliberately empty } } throw new CertificateException(Certificate chain cannot be verified); } public X509Certificate[] getAcceptedIssuers() { X509TrustManager tm = getTM(managers0); X509Certificate[] certs0 = s_emptyCertArray; if (tm != null) { certs0 = tm.getAcceptedIssuers(); } tm = getTM(managers1); X509Certificate[] certs1 = s_emptyCertArray; if (tm != null) { certs1 = tm.getAcceptedIssuers(); } X509Certificate[] certs = new X509Certificate[certs0.length+certs1.length]; System.arraycopy(certs0, 0, certs, 0, certs0.length); System.arraycopy(certs1, 0, certs, certs0.length, certs1.length); return certs; } }; context.init(null, new TrustManager[] { manager }, null); SSLSocketFactory sockfactory = context.getSocketFactory(); ((HttpsURLConnection)conn).setSSLSocketFactory(sockfactory); } return conn; } - Dennis -- Dennis M. Sosnoski Java XML and Web Services Axis2 Training and Consulting http://www.sosnoski.com - http://www.sosnoski.co.nz Seattle, WA
Re: SSL : setting up truststore (and keystore?)
Dennis, Thanks for the code and suggestions. The app server should have some way of configuring SSL support, and even though that configuration is going to be intended more for inbound connections it might also have settings for outbound connections. yes, I have configures the application server and I could see the certificates loaded from my custom key/trust store but still it complains no trust certificate found. I am not sure why it is working first time when i deploy the war, and it doesn't work after I restart the application server. but my concern is that I am using web service client stub/proxy(Axis2), and I am providing the endpoint to the stub, my code does't handle connections thanks again On Wed, Jun 24, 2009 at 10:12 AM, Dennis Sosnoski d...@sosnoski.com wrote: I'm surprised this works at all in an app server environment. The app server should have some way of configuring SSL support, and even though that configuration is going to be intended more for inbound connections it might also have settings for outbound connections. Aside from that, you can take direct control over the authentication of the presented server certificate by implementing your own TrustManager. Here's a method which illustrates this approach, from an open source project I developed which needed to work with custom certificate authorities for server SSL/TLS certificates: /** * Open a connection to a server. If the connection type is 'https' and a * certificate authority keystore is supplied, that certificate authority * will be used when establishing the connection to the server. * * @param target destination URL (must use 'http' or 'https' protocol) * @param castore keystore containing certificate authority certificate * @return connection * @throws IOException * @throws NoSuchAlgorithmException * @throws KeyManagementException * @throws KeyStoreException */ private HttpURLConnection openConnection(String target, KeyStore castore) throws IOException, NoSuchAlgorithmException, KeyManagementException, KeyStoreException { URL url = new URL(target); HttpURLConnection conn = (HttpURLConnection)url.openConnection(); if (castore != null target.toLowerCase().startsWith(https:)) { String alg = TrustManagerFactory.getDefaultAlgorithm(); SSLContext context = SSLContext.getInstance(TLS); TrustManagerFactory tmfact0 = TrustManagerFactory.getInstance(alg); tmfact0.init((KeyStore)null); final TrustManager[] managers0 = tmfact0.getTrustManagers(); TrustManagerFactory tmfact1 = TrustManagerFactory.getInstance(alg); tmfact1.init(castore); final TrustManager[] managers1 = tmfact1.getTrustManagers(); TrustManager manager = new X509TrustManager() { private X509TrustManager getTM(TrustManager[] tms) { for (int i = 0; i tms.length; i++) { TrustManager tm = tms[i]; if (tm instanceof X509TrustManager) { return (X509TrustManager)tm; } } return null; } public void checkClientTrusted(X509Certificate[] chain, String type) throws CertificateException { X509TrustManager tm = getTM(managers0); if (tm != null) { tm.checkClientTrusted(chain, type); } } public void checkServerTrusted(X509Certificate[] chain, String type) throws CertificateException { X509TrustManager tm = getTM(managers0); if (tm != null) { try { tm.checkServerTrusted(chain, type); return; } catch (CertificateException e) { // deliberately empty } } tm = getTM(managers1); if (tm != null) { try { tm.checkServerTrusted(chain, type); return; } catch (CertificateException e) { // deliberately empty } } throw new CertificateException(Certificate chain cannot be verified); } public X509Certificate[] getAcceptedIssuers() { X509TrustManager tm = getTM(managers0); X509Certificate[] certs0 = s_emptyCertArray; if (tm != null) { certs0 = tm.getAcceptedIssuers(); } tm = getTM(managers1); X509Certificate[] certs1 = s_emptyCertArray; if (tm != null) {
message-style services with multiple allowedMethods
Hi all I implemented a service that has 2 allowed methods and message style. At the moment, I dispatch the request using a custom xml and another public message-style compliant method (the actual one). How can I write a wsdd that maps different soapAction for each method? I see there is a operation parameter in the wsdd, but I couldn't manage to make it work. Even If I figure it out, an axis dispatch the soap request to the correct method? Thanks a million Marcello
Re: SSL : setting up truststore (and keystore?)
I understand you're not opening the connection directly, but having it opened for you by the Axis2-generated stub, and admittedly my code doesn't help much directly in that situation. I'm not sure offhand how to make the server certificate authentication work in that situation, but I believe Axis2 is using the Commons HttpClient by default, and that appears to offer a way of using your own socket factory: http://hc.apache.org/httpclient-3.x/sslguide.html You should be able to use the Protocol.registerProtocol() approach outlined on that page (perhaps with myhttps rather than just https as the protocol, just to make sure your handling doesn't interfere with other requests - and see their link to http://svn.apache.org/viewvc/httpcomponents/oac.hc3x/trunk/src/contrib/org/apache/commons/httpclient/contrib/ssl/EasySSLProtocolSocketFactory.java?view=markup for an example). - Dennis -- Dennis M. Sosnoski Java XML and Web Services Axis2 Training and Consulting http://www.sosnoski.com - http://www.sosnoski.co.nz Seattle, WA +1-425-939-0576 - Wellington, NZ +64-4-298-6117 asheikh wrote: Dennis, Thanks for the code and suggestions. The app server should have some way of configuring SSL support, and even though that configuration is going to be intended more for inbound connections it might also have settings for outbound connections. yes, I have configures the application server and I could see the certificates loaded from my custom key/trust store but still it complains no trust certificate found. I am not sure why it is working first time when i deploy the war, and it doesn't work after I restart the application server. but my concern is that I am using web service client stub/proxy(Axis2), and I am providing the endpoint to the stub, my code does't handle connections thanks again On Wed, Jun 24, 2009 at 10:12 AM, Dennis Sosnoski d...@sosnoski.com mailto:d...@sosnoski.com wrote: I'm surprised this works at all in an app server environment. The app server should have some way of configuring SSL support, and even though that configuration is going to be intended more for inbound connections it might also have settings for outbound connections. Aside from that, you can take direct control over the authentication of the presented server certificate by implementing your own TrustManager. Here's a method which illustrates this approach, from an open source project I developed which needed to work with custom certificate authorities for server SSL/TLS certificates: /** * Open a connection to a server. If the connection type is 'https' and a * certificate authority keystore is supplied, that certificate authority * will be used when establishing the connection to the server. * * @param target destination URL (must use 'http' or 'https' protocol) * @param castore keystore containing certificate authority certificate * @return connection * @throws IOException * @throws NoSuchAlgorithmException * @throws KeyManagementException * @throws KeyStoreException */ private HttpURLConnection openConnection(String target, KeyStore castore) throws IOException, NoSuchAlgorithmException, KeyManagementException, KeyStoreException { URL url = new URL(target); HttpURLConnection conn = (HttpURLConnection)url.openConnection(); if (castore != null target.toLowerCase().startsWith(https:)) { String alg = TrustManagerFactory.getDefaultAlgorithm(); SSLContext context = SSLContext.getInstance(TLS); TrustManagerFactory tmfact0 = TrustManagerFactory.getInstance(alg); tmfact0.init((KeyStore)null); final TrustManager[] managers0 = tmfact0.getTrustManagers(); TrustManagerFactory tmfact1 = TrustManagerFactory.getInstance(alg); tmfact1.init(castore); final TrustManager[] managers1 = tmfact1.getTrustManagers(); TrustManager manager = new X509TrustManager() { private X509TrustManager getTM(TrustManager[] tms) { for (int i = 0; i tms.length; i++) { TrustManager tm = tms[i]; if (tm instanceof X509TrustManager) { return (X509TrustManager)tm; } } return null; } public void checkClientTrusted(X509Certificate[] chain, String type) throws CertificateException { X509TrustManager tm = getTM(managers0); if (tm != null) { tm.checkClientTrusted(chain, type); } } public void checkServerTrusted(X509Certificate[]
Unable to build client side message with document style
Hi I am developing an AXIS 1.4 client for a remote server (AXIS 1.3). The axis guide: http://ws.apache.org/axis/java/user-guide.html#ServiceStylesRPCDocumentWrapp edAndMessage details a message structure (which is similar to what I want): soap:Body myNS:PurchaseOrder xmlns:myNS=http://commerce.com/PO; itemSK001/item quantity1/quantity descriptionSushi Knife/description /myNS:PurchaseOrder /soap:Body The guide says: For a document style service, this would map to a method like this: public void method(PurchaseOrder po) However using the stub generated by wsdl2java I am getting a message structure like: soap:Body method myNS:PurchaseOrder xmlns:myNS=http://commerce.com/PO; itemSK001/item quantity1/quantity descriptionSushi Knife/description /myNS:PurchaseOrder /method /soap:Body where I have populated the part passed to the invoke method with an org.w3c.dom.Element containing an xml fragment: myNS:PurchaseOrder xmlns:myNS=http://commerce.com/PO; itemSK001/item quantity1/quantity descriptionSushi Knife/description /myNS:PurchaseOrder wsdl binding is: wsdl:binding name=. type=impl: wsdlsoap:binding style=document transport=http://schemas.xmlsoap.org/soap/http/ wsdl:operation name=process wsdlsoap:operation soapAction=/ wsdl:input name=processRequest wsdlsoap:body use=literal/ /wsdl:input wsdl types: wsdl:types schema targetNamespace=.. import namespace=/ element name=process type=xsd:anyType/ /schema So in my case I am getting a message on the wire like: soap:Body process myNS:PurchaseOrder xmlns:myNS=http://commerce.com/PO; itemSK001/item quantity1/quantity descriptionSushi Knife/description /myNS:PurchaseOrder /process /soap:Body Where I don't want the process elements Thanks John
Axiom JVW compatability
Hi all I've noticed that despite Axis2 only requiring Java 1.5, it relies on Axiom. However the later releases of Axiom seem to require Java 6, so I'm just wondering if anyone knows which, if any, earlier releases of Axiom are still usable but compatible with Java 1.5? -- Chris Mannion iCasework and LocalAlert implementation team 0208 144 4416
Re: Axiom JVW compatability
Axiom doesn't require Java 6. It should work on 1.4.2. Andreas On Wed, Jun 24, 2009 at 12:14, Chris Mannionchris.mann...@nonstopgov.com wrote: Hi all I've noticed that despite Axis2 only requiring Java 1.5, it relies on Axiom. However the later releases of Axiom seem to require Java 6, so I'm just wondering if anyone knows which, if any, earlier releases of Axiom are still usable but compatible with Java 1.5? -- Chris Mannion iCasework and LocalAlert implementation team 0208 144 4416
Re: SSL : setting up truststore (and keystore?)
Thanks Dennis, I will try your suggestion and links On Wed, Jun 24, 2009 at 11:08 AM, Dennis Sosnoski d...@sosnoski.com wrote: I understand you're not opening the connection directly, but having it opened for you by the Axis2-generated stub, and admittedly my code doesn't help much directly in that situation. I'm not sure offhand how to make the server certificate authentication work in that situation, but I believe Axis2 is using the Commons HttpClient by default, and that appears to offer a way of using your own socket factory: http://hc.apache.org/httpclient-3.x/sslguide.html You should be able to use the Protocol.registerProtocol() approach outlined on that page (perhaps with myhttps rather than just https as the protocol, just to make sure your handling doesn't interfere with other requests - and see their link to http://svn.apache.org/viewvc/httpcomponents/oac.hc3x/trunk/src/contrib/org/apache/commons/httpclient/contrib/ssl/EasySSLProtocolSocketFactory.java?view=markupfor an example). - Dennis -- Dennis M. Sosnoski Java XML and Web Services Axis2 Training and Consulting http://www.sosnoski.com - http://www.sosnoski.co.nz Seattle, WA +1-425-939-0576 - Wellington, NZ +64-4-298-6117 asheikh wrote: Dennis, Thanks for the code and suggestions. The app server should have some way of configuring SSL support, and even though that configuration is going to be intended more for inbound connections it might also have settings for outbound connections. yes, I have configures the application server and I could see the certificates loaded from my custom key/trust store but still it complains no trust certificate found. I am not sure why it is working first time when i deploy the war, and it doesn't work after I restart the application server. but my concern is that I am using web service client stub/proxy(Axis2), and I am providing the endpoint to the stub, my code does't handle connections thanks again On Wed, Jun 24, 2009 at 10:12 AM, Dennis Sosnoski d...@sosnoski.commailto: d...@sosnoski.com wrote: I'm surprised this works at all in an app server environment. The app server should have some way of configuring SSL support, and even though that configuration is going to be intended more for inbound connections it might also have settings for outbound connections. Aside from that, you can take direct control over the authentication of the presented server certificate by implementing your own TrustManager. Here's a method which illustrates this approach, from an open source project I developed which needed to work with custom certificate authorities for server SSL/TLS certificates: /** * Open a connection to a server. If the connection type is 'https' and a * certificate authority keystore is supplied, that certificate authority * will be used when establishing the connection to the server. * * @param target destination URL (must use 'http' or 'https' protocol) * @param castore keystore containing certificate authority certificate * @return connection * @throws IOException * @throws NoSuchAlgorithmException * @throws KeyManagementException * @throws KeyStoreException */ private HttpURLConnection openConnection(String target, KeyStore castore) throws IOException, NoSuchAlgorithmException, KeyManagementException, KeyStoreException { URL url = new URL(target); HttpURLConnection conn = (HttpURLConnection)url.openConnection(); if (castore != null target.toLowerCase().startsWith(https:)) { String alg = TrustManagerFactory.getDefaultAlgorithm(); SSLContext context = SSLContext.getInstance(TLS); TrustManagerFactory tmfact0 = TrustManagerFactory.getInstance(alg); tmfact0.init((KeyStore)null); final TrustManager[] managers0 = tmfact0.getTrustManagers(); TrustManagerFactory tmfact1 = TrustManagerFactory.getInstance(alg); tmfact1.init(castore); final TrustManager[] managers1 = tmfact1.getTrustManagers(); TrustManager manager = new X509TrustManager() { private X509TrustManager getTM(TrustManager[] tms) { for (int i = 0; i tms.length; i++) { TrustManager tm = tms[i]; if (tm instanceof X509TrustManager) { return (X509TrustManager)tm; } } return null; } public void checkClientTrusted(X509Certificate[] chain, String type) throws CertificateException { X509TrustManager tm = getTM(managers0); if (tm != null) {
Axis gives error while requesting wsdl
Hi, I have merged axis.war with my existing application's war file. When Requesting for services by giving url http://localhost:7001/services/ It's list the services properly. but when i try to get wsdl file for each services .. it's giving error like this. Please provide me the answer . Thanks. 2009-06-24 17:17:50,453 DEBUG org.apache.axis.transport.http.AxisServlet - configPath:D:\bea\user_projects\domains\eka_sap\EkaEAR_exploded\EkaWeb.war\WEB-INF 2009-06-24 17:17:50,453 DEBUG org.apache.axis.server.AxisServer - Enter: AxisServer::generateWSDL 2009-06-24 17:17:50,453 DEBUG org.apache.axis.i18n.ProjectResourceBundle - org.apache.axis.i18n.resource::handleGetObject(defaultLogic00) 2009-06-24 17:17:50,453 DEBUG org.apache.axis.server.AxisServer - Calling default logic in AxisServer 2009-06-24 17:17:50,453 DEBUG org.apache.axis.i18n.ProjectResourceBundle - org.apache.axis.i18n.resource::handleGetObject(transport01) 2009-06-24 17:17:50,453 DEBUG org.apache.axis.server.AxisServer - AxisServer.generateWSDL: Transport = 'http' 2009-06-24 17:17:50,453 DEBUG org.apache.axis.SimpleChain - Enter: SimpleChain::generateWSDL 2009-06-24 17:17:50,453 DEBUG org.apache.axis.handlers.http.URLMapper - Enter: URLMapper::invoke 2009-06-24 17:17:50,453 DEBUG org.apache.axis.MessageContext - MessageContext: setTargetService(AdminService) 2009-06-24 17:17:50,453 DEBUG org.apache.axis.MessageContext - MessageContext: setServiceHandler(org.apache.axis.handlers.soap.soapserv...@197aef5) 2009-06-24 17:17:50,453 DEBUG org.apache.axis.handlers.http.URLMapper - Exit: URLMapper::invoke 2009-06-24 17:17:50,453 DEBUG org.apache.axis.SimpleChain - Exit: SimpleChain::generateWSDL 2009-06-24 17:17:50,453 DEBUG org.apache.axis.SimpleChain - Enter: SimpleChain::generateWSDL 2009-06-24 17:17:50,453 DEBUG org.apache.axis.handlers.JWSHandler - Exit: JWSHandler::invoke 2009-06-24 17:17:50,453 DEBUG org.apache.axis.handlers.JWSHandler - Exit: JWSHandler::invoke 2009-06-24 17:17:50,453 DEBUG org.apache.axis.SimpleChain - Exit: SimpleChain::generateWSDL 2009-06-24 17:17:50,453 DEBUG org.apache.axis.SimpleChain - Enter: SimpleChain::generateWSDL 2009-06-24 17:17:50,453 DEBUG org.apache.axis.providers.BasicProvider - Enter: BasicProvider::generateWSDL (org.apache.axis.providers.java.msgprovi...@725e09) 2009-06-24 17:17:50,453 DEBUG org.apache.axis.i18n.ProjectResourceBundle - org.apache.axis.i18n.resource::handleGetObject(toAxisFault00) 2009-06-24 17:17:50,453 INFO org.apache.axis.enterprise - Mapping Exception to AxisFault java.lang.NullPointerException at weblogic.xml.jaxp.ChainingEntityResolver.popEntityResolver(ChainingEntityResolver.java:75) at weblogic.xml.jaxp.RegistryDocumentBuilder.setEntityResolver(RegistryDocumentBuilder.java:179) at org.apache.axis.utils.XMLUtils.releaseDocumentBuilder(XMLUtils.java:235) at org.apache.axis.utils.XMLUtils.newDocument(XMLUtils.java:312) at org.apache.axis.wsdl.fromJava.Types.createDocumentFragment(Types.java:1496) at org.apache.axis.wsdl.fromJava.Types.init(Types.java:162) at org.apache.axis.wsdl.fromJava.Emitter.createTypes(Emitter.java:757) at org.apache.axis.wsdl.fromJava.Emitter.getWSDL(Emitter.java:474) at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:326) at org.apache.axis.providers.BasicProvider.generateWSDL(BasicProvider.java:243) at org.apache.axis.strategies.WSDLGenStrategy.visit(WSDLGenStrategy.java:33) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.apache.axis.SimpleChain.generateWSDL(SimpleChain.java:104) at org.apache.axis.handlers.soap.SOAPService.generateWSDL(SOAPService.java:316) at org.apache.axis.server.AxisServer.generateWSDL(AxisServer.java:467) at org.apache.axis.transport.http.QSWSDLHandler.invoke(QSWSDLHandler.java:62) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.axis.transport.http.AxisServlet.processQuery(AxisServlet.java:1132) at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:233) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:301) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:226) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:124) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283) at
I can't unsubscribe
Hello all, I am trying do unsubscribe in this list but the reply email is always rejected. This is the email error message: Your Re: confirm unsubscribe from axis-user@ws.apache.org message: was notaxis-user-uc.1245847216.hdfbhcdnllbobndcmdic-cesarac=lcc.ufmg. delivered b...@ws.apache.org to: because: Error transferring to mx1.eu.APACHE.ORG; SMTP Protocol Returned a Permanent Error 552 spam score (6.0) exceeded threshold Does someone can help me? Thanks in advance Cesar.
RE: Problem serializing array of complex types
Thanks Chinmoy, However, what you described is what I am doing. I set the return type of my service to be custom.class.Name[] and I still get the JAXBException. Do I need to put some annotation on the class in order to send an array of that object across? I tried getting around this by returning a Listcustom.class.Name, but the same error was thrown, replace the Lcustom.class.Name with java.util.List. But then I saw https://issues.apache.org/jira/browse/AXIS2-3736;jsessionid=123DEEA984B0 7738A4B2A24AC78112D7 Anyone else run into an issue like this? Is there any configuration required to send an array of custom objects from a web service using Axis2? Thanks From: Chinmoy Chakraborty [mailto:cch...@gmail.com] Sent: Tuesday, June 23, 2009 10:20 PM To: axis-user@ws.apache.org Subject: Re: Problem serializing array of complex types Are you using Object array and putting your custom objects there? I tried with custom object array and it worked. e.g Suppose you have objects of class A. Just use A[] and it will work. Chinmoy On Wed, Jun 24, 2009 at 1:04 AM, Besecker, Kyle kyle.besec...@teradata.com wrote: I created a web-service and it works great for low level complexity stuff. However, when I attempt to send arrays from the service, I begin to run into trouble. Initially I attempted to send an array of custom objects. I was able to send a single object, but when I attempted to use an array, I got a JAXB error of javax.xml.bind.JAXBException: [Lcustom.class.Name http://custom.class.name/ ; is not known to this context. So I attempted to scale it back and just send an array of Strings, but when the array was returned on the client side I only received the first object in the array. I double checked the wsdl and xsd files generated, and the response call does indeed have array types of the specified objects specifed. My google-fu has failed me on this one. Does anybody have any suggestions as to why I am getting these two issues? Thanks
Error while uploading File using DataHandler
Hello! I work with Axis 1.4.1 and Tomcat 5.5. In the service there is a method which is used to upload image-data to the server using javax.activation.DataHandler. I generated a ClientStub using the eclipse-built-in Create new Webservice-Client and communicate successfully with other methods from the service. When I want to upload an image i get the following Exception on the serverside: ERROR 2009-06-24 17:37:34,491 [http-8180-Processor25] (RPCMessageReceiver.java:160) - java.lang.IllegalArgumentException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun .reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 39) at sun .reflect .DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java: 194) at org .apache .axis2 .rpc .receivers .RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:102) at org .apache .axis2 .receivers .AbstractInOutMessageReceiver .invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) at org .apache .axis2 .receivers .AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176) at org .apache .axis2 .transport .http .HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org .apache .catalina .core .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 269) at org .apache .catalina .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org .apache .catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 213) at org .apache .catalina.core.StandardContextValve.invoke(StandardContextValve.java: 172) at org .apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: 127) at org .apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: 117) at org .apache .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 151) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: 874) at org.apache.coyote.http11.Http11BaseProtocol $Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org .apache .tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org .apache .tomcat .util .net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java: 81) at org.apache.tomcat.util.threads.ThreadPool $ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:619) ERROR 2009-06-24 17:37:34,496 [http-8180-Processor25] (AxisEngine.java: 212) - org.apache.axis2.AxisFault at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) at org .apache .axis2 .rpc .receivers .RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:161) at org .apache .axis2 .receivers .AbstractInOutMessageReceiver .invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) at org .apache .axis2 .receivers .AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176) at org .apache .axis2 .transport .http .HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org .apache .catalina .core .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 269) at org .apache .catalina .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org .apache .catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 213) at org .apache .catalina.core.StandardContextValve.invoke(StandardContextValve.java: 172) at org .apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: 127) at org .apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: 117) at org .apache .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 151) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: 874) at org.apache.coyote.http11.Http11BaseProtocol $Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org .apache
Re: Next question...
It appears to be axis2-jaxws-1.4.1.jar Here's how I figured that out on a unix system: [10:02:23]bel...@mechagodzilla: ~/java_dev/trunk/libs/axis2-1.4.1 $ grep org.apache.axis2.jaxws.framework.JAXWSDeployer lib/* Binary file lib/axis2-jaxws-1.4.1.jar matches [10:02:39]bel...@mechagodzilla: ~/java_dev/trunk/libs/axis2-1.4.1 $ unzip -l lib/axis2-jaxws-1.4.1.jar |grep org.apache.axis2.jaxws.framework.JAXWSDeployer 13373 08-13-08 17:07 org/apache/axis2/jaxws/framework/JAXWSDeployer.class Best regards, -Matt Beldyk On Tue, Jun 23, 2009 at 9:12 PM, Shasta Willsonshas...@gmail.com wrote: Can someone tell me what .jar would contain org.apache.axis2.jaxws.framework.JAXWSDeployer I can't find it on the jar search engines I usually use. I'm getting a ClassNotFound in my logs, followed by an NPE without an obvious source a little later. I'm guessing something isn't getting initialized correctly, even though the Deployer doesn't cause it to fail immediately, and maybe putting the correct jar in place would help. Thank you, Shasta -- Calvin: Know what I pray for? Hobbes: What? Calvin: The strength to change what I can, the inability to accept what I can't, and the incapacity to tell the difference.
Re: Axiom JVW compatability
Maybe I've misunderstood then but I'm using an Axiom StAXOMBuilder object to build a document from a string or stream of XML and the StAXOMBuilder relies on the javax.xml.stream which doesn't exist in the 1.5.0 JRE I have but is in the 1.6.0 JRE. Perhaps I just need another jar file added to my 1.5 environment? 2009/6/24 Andreas Veithen andreas.veit...@gmail.com: Axiom doesn't require Java 6. It should work on 1.4.2. Andreas On Wed, Jun 24, 2009 at 12:14, Chris Mannionchris.mann...@nonstopgov.com wrote: Hi all I've noticed that despite Axis2 only requiring Java 1.5, it relies on Axiom. However the later releases of Axiom seem to require Java 6, so I'm just wondering if anyone knows which, if any, earlier releases of Axiom are still usable but compatible with Java 1.5? -- Chris Mannion iCasework and LocalAlert implementation team 0208 144 4416 -- Chris Mannion iCasework and LocalAlert implementation team 0208 144 4416
Re: Error while uploading File using DataHandler
Ok, i found the bug: just forgot to set one argument - damn me. I've got another question: As you can see, i request the filetye from the DataHandler.getName() using String.substring(String.lastindexof(.)). When i test the POJO-Class locally, i get the correct extension. When i use it as the mentioned serviceclass i get a ByteArrayDataSource as file-extension, which is completely useless. How do i extract the correct file-extension out of my DataHandler? Thanks alot!
Axis WS on mobile devices
Hi all, I asked this question before (twice) but I didn't get a single response, interestingly enough. I am assuming by now that there is no mobile version of Axis/Axis2 and all the stories I hear about people getting Web services to work on mobiles is a fiction ... Has anyone managed to run Web Services (servers primarily) on mobile devices (either CDC, CLDC, scripting, Web Runtime etc.)? I will appreciate any feedback on something like this. Thanks very much
Using Axis to generate Client Stubs from a WSDL of a Spring Hosted Webservice
Hi We have a external 3rd Party Webservice that we want to use. All we know is that its a Spring based webservice and we have access to its WSDL URL. Our earlier effort to write a client running the spring generated stubs works just fine within a Spring based MVC app, however now we need to port this client to a ATG 2007 environment so we don't really want to use Spring at all on the client side. Since ATG 2007 comes with Axis 1.1 support, I have used the WSDL2Java to generate the Stubs to access this service. The request seems to work just fine on the service side, however when we get back the response, it does not seem to have all the data that the Stub seems to expect. Specifically, the response seems to be missing data that's specified as required by the XSD. Are we missing anything here ? Shouldn't we be able to just point to the WSDL, generate the stubs and use them to query the service and then get back the correct results ? All the examples we came across for accessing web services was for those hosted by Axis itself. Any pointers would be highly appreciated. Thanks Shantanu -- View this message in context: http://www.nabble.com/Using-Axis-to-generate-Client-Stubs-from-a-WSDL-of-a-Spring-Hosted-Webservice-tp24192296p24192296.html Sent from the Axis - User mailing list archive at Nabble.com.
SimpleHTTPServer randomly fails to load life cycle class of random service archive
Hi everybody I'm using an instance of the SimpleHTTPServer class of Axis2 1.4 as server for my webservices. When I stop the SimpleHTTPServer instance from within my application and then restart it (still from wihin my application and without first quitting the Java VM) I randomly get a DeploymentException while Axis2 is initializing the webservice archives from the services directory in the repository. Axis2 is not able to load the service life cycle class for one of the services in the repository: org.apache.axis2.deployment.DeploymentException because of java.lang.ClassNotFoundException in org.apache.axis2.deployment.ServiceBuilder.loadServiceLifeCycleClass(ServiceBuilder.java:514) The strange thing is that this never seems to happen when the SimpleHTTPServer instance is startet for the first time. It only happens randomly (not more than 1 out of 5 times) when stopping and restarting the SimpleHTTPServer instance. The other strange thing is that only one randomly selected service (1 out of 3) using a life cycle class does not start because of the ClassNotFoundException. Also for a certain run of my application it is always the same service that cannot load. But the service that fails may change from run to run. Therefore the root of the problem seems to be some kind of race condition. I noticed the exact same behaviour when replacing one of the service archives with a newer (or the same) version of the webservice in the archive using the hot deploy/update mechanism of Axis2. Deploying/updating exact the same service archive that failed before usually worked at the second try but would randomly fail later again. Does anybody know of a solution or a workaround for this problem? Thanks a lot in advance for any help! Marc Noma
problem with wsdl2java in 1.5
wsdl2java in axis2-1.5 did not work for me reporting exceptions like these: Exception in thread main java.lang.NoClassDefFoundError: org.apache.axis2.description.AxisDescription at java.lang.Class.initializeClass(libgcj.so.7rh) at java.lang.Class.initializeClass(libgcj.so.7rh) at org.apache.axis2.description.WSDLToAxisServiceBuilder.init(WSDLToAxisServiceBuilder.java:101) at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.init(WSDL11ToAxisServiceBuilder.java:215) at org.apache.axis2.description.WSDL11ToAllAxisServicesBuilder.init(WSDL11ToAllAxisServicesBuilder.java:63) at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.init(CodeGenerationEngine.java:144) at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35) at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24) Caused by: java.lang.ClassNotFoundException: java.util.concurrent.ConcurrentHashMap not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:NED615Soap.wsdl,file:/home/Ned/axis2-1.5/,file:./,file:/home/Ned/axis2-1.5//lib/activation-1.1.jar,file:/home/Ned/axis2-1.5//lib/axiom-api-1.2.8.jar,file:/home/Ned/axis2-1.5//lib/axiom-dom-1.2.8.jar,file:/home/Ned/axis2-1.5//lib/axiom-impl-1.2.8.jar,file:/home/Ned/axis2-1.5//lib/axis2-adb-1.5.jar,file:/home/Ned/axis2-1.5//lib/axis2-adb-codegen-1.5.jar,file:/home/Ned/axis2-1.5//lib/axis2-ant-plugin-1.5.jar,file:/home/Ned/axis2-1.5//lib/axis2-clustering-1.5.jar,file:/home/Ned/axis2-1.5//lib/axis2-codegen-1.5.jar,file:/home/Ned/axis2-1.5//lib/axis2-corba-1.5.jar,file:/home/Ned/axis2-1.5//lib/axis2-fastinfoset-1.5.jar,file:/home/Ned/axis2-1.5//lib/axis2-java2wsdl-1.5.jar,file:/home/Ned/axis2-1.5//lib/axis2-jaxbri-1.5.jar,file:/home/Ned/axis2-1.5//lib/axis2-jaxws-1.5.jar,file:/home/Ned/axis2-1.5//lib/axis2-jibx-1.5.jar,file:/home/Ned/axis2-1.5//lib/axis2-json-1.5.jar,file:/home/Ned/axis2-1.5//lib/axis2-kernel-1.5.jar,file:/home/Ned/axis2-1.5//lib/axis2-metadata-1.5.jar,file:/home/Ned/axis2-1.5//lib/axis2-mtompolicy-1.5.jar,file:/home/Ned/axis2-1.5//lib/axis2-saaj-1.5.jar,file:/home/Ned/axis2-1.5//lib/axis2-spring-1.5.jar,file:/home/Ned/axis2-1.5//lib/axis2-transport-http-1.5.jar,file:/home/Ned/axis2-1.5//lib/axis2-transport-local-1.5.jar,file:/home/Ned/axis2-1.5//lib/axis2-xmlbeans-1.5.jar,file:/home/Ned/axis2-1.5//lib/bcel-5.1.jar,file:/home/Ned/axis2-1.5//lib/commons-codec-1.3.jar,file:/home/Ned/axis2-1.5//lib/commons-fileupload-1.2.jar,file:/home/Ned/axis2-1.5//lib/commons-httpclient-3.1.jar,file:/home/Ned/axis2-1.5//lib/commons-io-1.4.jar,file:/home/Ned/axis2-1.5//lib/commons-lang-2.3.jar,file:/home/Ned/axis2-1.5//lib/commons-logging-1.1.1.jar,file:/home/Ned/axis2-1.5//lib/geronimo-annotation_1.0_spec-1.1.jar,file:/home/Ned/axis2-1.5//lib/geronimo-jaxws_2.1_spec-1.0.jar,file:/home/Ned/axis2-1.5//lib/geronimo-saaj_1.3_spec-1.0.1.jar,file:/home/Ned/axis2-1.5//lib/geronimo-stax-api_1.0_spec-1.0.1.jar,file:/home/Ned/axis2-1.5//lib/geronimo-ws-metadata_2.0_spec-1.1.2.jar,file:/home/Ned/axis2-1.5//lib/httpcore-4.0.jar,file:/home/Ned/axis2-1.5//lib/jalopy-1.5rc3.jar,file:/home/Ned/axis2-1.5//lib/jaxb-api-2.1.jar,file:/home/Ned/axis2-1.5//lib/jaxb-impl-2.1.7.jar,file:/home/Ned/axis2-1.5//lib/jaxb-xjc-2.1.7.jar,file:/home/Ned/axis2-1.5//lib/jaxen-1.1.1.jar,file:/home/Ned/axis2-1.5//lib/jettison-1.0-RC2.jar,file:/home/Ned/axis2-1.5//lib/jibx-bind-1.2.1.jar,file:/home/Ned/axis2-1.5//lib/jibx-run-1.2.1.jar,file:/home/Ned/axis2-1.5//lib/log4j-1.2.15.jar,file:/home/Ned/axis2-1.5//lib/mail-1.4.jar,file:/home/Ned/axis2-1.5//lib/mex-1.5.jar,file:/home/Ned/axis2-1.5//lib/neethi-2.0.4.jar,file:/home/Ned/axis2-1.5//lib/smack-3.0.4.jar,file:/home/Ned/axis2-1.5//lib/smackx-3.0.4.jar,file:/home/Ned/axis2-1.5//lib/soapmonitor-1.5.jar,file:/home/Ned/axis2-1.5//lib/woden-api-1.0M8.jar,file:/home/Ned/axis2-1.5//lib/woden-impl-dom-1.0M8.jar,file:/home/Ned/axis2-1.5//lib/wsdl4j-1.6.2.jar,file:/home/Ned/axis2-1.5//lib/wstx-asl-3.2.4.jar,file:/home/Ned/axis2-1.5//lib/xalan-2.7.0.jar,file:/home/Ned/axis2-1.5//lib/xercesImpl-2.6.2.jar,file:/home/Ned/axis2-1.5//lib/xml-apis-1.3.02.jar,file:/home/Ned/axis2-1.5//lib/xmlbeans-2.3.0.jar,file:/home/Ned/axis2-1.5//lib/xml-resolver-1.2.jar,file:/home/Ned/axis2-1.5//lib/XmlSchema-1.4.3.jar,file:./], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}} at java.net.URLClassLoader.findClass(libgcj.so.7rh) at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.7rh) at java.lang.ClassLoader.loadClass(libgcj.so.7rh) at java.lang.ClassLoader.loadClass(libgcj.so.7rh) at java.lang.Class.forName(libgcj.so.7rh) at java.lang.Class.initializeClass(libgcj.so.7rh) ...7 more QUESTIONS: When I did all the same but with axis2-1.4 it seems to generate the code. I don't know if it is working yet, but I am wondering if I should just rely on axis2-1.4 or fix my problem for axis2-1.5? I am new to axis2 and java programming in whole. Unfortunately axis2c does not support SOAP 1.1 attachments (pure MIME) , only MTOM (am I right?).
How to get ConfigurationContext from a xml file which is in a jar file
Hi, everyone: I am working to write a web service client and have a customized client-axis2.xml. I used the following code to get a ConfigurationContext object: ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(., conf/client.axis2.xml); Now I put the client.axis2.xml in a jar file rather than file system. The sturcture of the jar file looks like: 0 Wed Jun 24 17:42:44 PDT 2009 META-INF/ 106 Wed Jun 24 17:42:42 PDT 2009 META-INF/MANIFEST.MF 0 Wed Jun 24 17:42:42 PDT 2009 org/ 0 Wed Jun 24 17:42:42 PDT 2009 org/kepler/ 0 Wed Jun 24 17:42:42 PDT 2009 org/kepler/executionWS/ 0 Wed Jun 24 17:42:44 PDT 2009 org/kepler/executionWS/client/ 25777 Wed Jun 24 17:42:44 PDT 2009 client.axis2.xml 2210 Wed Jun 24 17:42:42 PDT 2009 log4j.properties 27832 Wed Jun 24 17:42:44 PDT 2009 org/kepler/executionWS/client/KeplerExeWSClient.class How can the client class KeplerExeWSClient get a ConfigurationContext object? Use the method ConfigurationContextFactory.createConfigurationContextFromURIs(axis2xml, repositoy)? Thank you very much for the help! Jing Jing Tao National Center for Ecological Analysis and Synthesis (NCEAS) 735 State St. Suite 204 Santa Barbara, CA 93101
Re: Error while uploading File using DataHandler
You can try setting the content-type in the service class and getting the same in the client side using SwA. Enabling MTOM and SwA means MTOM is getting preference over SwA. Chinmoy On Wed, Jun 24, 2009 at 11:18 PM, Moritz Mädler m...@moritz-maedler.dewrote: Ok, i found the bug: just forgot to set one argument - damn me. I've got another question: As you can see, i request the filetye from the DataHandler.getName() using String.substring(String.lastindexof(.)). When i test the POJO-Class locally, i get the correct extension. When i use it as the mentioned serviceclass i get a ByteArrayDataSource as file-extension, which is completely useless. How do i extract the correct file-extension out of my DataHandler? Thanks alot!