# JAXM Hilfe



## Eristoff (29. Sep 2005)

Hallo!



bin gerade dabei ein webservice mit hilfe von jaxm zu erstellen, doch irgendwie will es noch nicht so wie ich!



mein service sieht so aus:


```
package at.lfrz.jaxmtest;



import org.apache.log4j.Logger;

import javax.xml.messaging.JAXMServlet;
import javax.xml.messaging.ReqRespListener;
import javax.xml.soap.SOAPMessage;


public class JAXMTest  extends JAXMServlet implements ReqRespListener
{
    private static final Logger logger = Logger.getLogger(JAXMTest.class);



    public SOAPMessage onMessage(SOAPMessage soapMessage)
    {
        logger.debug("received SOAP Message");
        System.out.println("msg");
        return soapMessage;
    }

}
```



der deployment descriptor:


```
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>

        <servlet>
        <servlet-name>jaxmtest</servlet-name>
        <servlet-class>at.lfrz.jaxmtest.JAXMTest</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>jaxmtest</servlet-name>
        <url-pattern>/jaxmtest</url-pattern>
    </servlet-mapping>
</web-app>
```



das deployen funktioniert!



aufruf des service:




```
package at.lfrz.replication;



import javax.xml.messaging.URLEndpoint;
import javax.xml.soap.*;


public class JavaUpdater
{
    public static void main(String args[])
    {
        URLEndpoint endpoint = new URLEndpoint("http://localhost/JAXMTest/jaxmtest");

        try
        {
            SOAPConnectionFactory scf = SOAPConnectionFactory.newInstance();
            SOAPConnection conn = scf.createConnection();
            MessageFactory mf = MessageFactory.newInstance();
            SOAPMessage msg = mf.createMessage();

            SOAPPart soapPart = msg.getSOAPPart();
            SOAPEnvelope envelope = msg.getSOAPPart().getEnvelope();

            SOAPBody body = envelope.getBody();



            Object reply = conn.call(msg, endpoint);

            System.out.println("Response from Server:" + reply.toString());



            System.out.println();
        }
        catch (Throwable e)
        {
            e.printStackTrace();
        }
    }
}
```



wenn ich diesen aufruf aus meiner entwicklungsumgebung starte, bekomme ich folgende fehlermeldung:




```
29.09.2005 09:17:43 com.sun.xml.messaging.saaj.soap.MessageImpl identifyContentType
SCHWERWIEGEND: SAAJ0537: Ungültiger Inhaltstyp. Könnte eine Fehlermeldung sein anstelle einer SOAP-Meldung
29.09.2005 09:17:43 com.sun.xml.messaging.saaj.soap.MessageImpl <init>
SCHWERWIEGEND: SAAJ0535: Meldung kann nicht internalisiert werden
com.sun.xml.messaging.saaj.SOAPExceptionImpl: java.security.PrivilegedActionException: com.sun.xml.messaging.saaj.SOAPExceptionImpl: Unable to internalize message
 at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection.call(HttpSOAPConnection.java:127)
 at at.lfrz.replication.JavaUpdater.main(JavaUpdater.java:42)
 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:324)
 at com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
Caused by: java.security.PrivilegedActionException: com.sun.xml.messaging.saaj.SOAPExceptionImpl: Unable to internalize message
 at java.security.AccessController.doPrivileged(Native Method)
 at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection.call(HttpSOAPConnection.java:121)
 ... 6 more
```



kann mir jemand helfen?

```

```


----------



## Eristoff (29. Sep 2005)

reicht es wenn ich das Service einfach ins tomcat webapps verzeichnis stelle (und es dort automatisch deployed wird)?

oder muss ich nochwas machen (ant,...)?


----------



## Frage (4. Jan 2006)

Woher hast du das JAXM Packet mit JAXServlet ?

kann das nirgends finden


----------

