[JAVA] Axis - Service kan niet aangeroepen worden

Pagina: 1
Acties:

  • bodiam
  • Registratie: December 2001
  • Laatst online: 31-12-2024
Hoi allen,

Zoals de topictitel al aangeeft: ik heb een probleempje met Axis. Ik heb een WAR met diverse services. Als ik deze onder Tomcat 5 draai heb ik totaal geen problemen. Maar hier vereist met Tomcat 4 (+JDK 1.4). Op zich geen probleem, maar nu krijg ik deze melding:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
java.lang.RuntimeException: The AXIS engine could not find a target service to invoke!  targetService is null
    at nl.xxx.hl7testapp.Sender.send(Sender.java:81)
    at nl.xxx.hl7testapp.Sender.send(Sender.java:32)
    at nl.xxx.hl7testapp.SenderServlet.doPost(SenderServlet.java:44)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:716)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)


Nu is mijn vraag niet hoe dit komt, want dat kan door vanalles komen: verkeerde libjes, libjes op de verkeerde plek, foute wsdd, foute aanroep, etc. Mijn vraag is echter: hoe debug ik dit? Ik heb echt al vanalles geprobeerd, maar ik moet dit oplossen. Ik heb echter geen flauw idee hoe. De logfiles bieden erg weinig info (zijn wel beschikbaar, indien nodig), ik heb diverse libs geprobeerd, etc. Ik heb echt even geen idee meer. Mocht er dus iemand zijn die hetzelfde heeft gehad, of een tip heeft, dan hoor ik dat graag!

  • misfire
  • Registratie: Maart 2001
  • Laatst online: 12-10-2024
Het zou inderdaad helpen als je de XML request/response bijvoegt, de versie van Axis die je gebruikt, de wsdd en de Java aanroep. Wij kunnen het anders net zo min debuggen! :)

Deze foutmelding is als het goed is het gevolg van er een mismatch tussen de namespaces die gestuurd worden en de namespaces die verwacht worden.

  • bodiam
  • Registratie: December 2001
  • Laatst online: 31-12-2024
misfire schreef op dinsdag 03 januari 2006 @ 19:51:
Het zou inderdaad helpen als je de XML request/response bijvoegt, de versie van Axis die je gebruikt, de wsdd en de Java aanroep. Wij kunnen het anders net zo min debuggen! :)

Deze foutmelding is als het goed is het gevolg van er een mismatch tussen de namespaces die gestuurd worden en de namespaces die verwacht worden.
Thanks for the tip. Het posten van de WSDD zou een hoop gescheeld hebben, die is namelijk fout:

Fout:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
        <parameter name="sendXMLDeclaration" value="true"/>
        <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>
        <parameter name="sendXsiTypes" value="true"/>
        <requestFlow>
            <XMLRPCHandler type="java:org.apache.axis.handlers.JWSHandler">
                <parameter name="scope" value="session"/>
            </XMLRPCHandler>
            <XMLRPCHandler type="java:org.apache.axis.handlers.JWSHandler">
                <parameter name="scope" value="request"/>
                <parameter name="extension" value=".jwr"/>
            </XMLRPCHandler>
        </requestFlow>
    </globalConfiguration>


Goed:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
        <parameter name="sendXMLDeclaration" value="true"/>
        <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>
        <parameter name="sendXsiTypes" value="true"/>
        <requestFlow>
            <handler type="java:org.apache.axis.handlers.JWSHandler">
                <parameter name="scope" value="session"/>
            </handler>
            <handler type="java:org.apache.axis.handlers.JWSHandler">
                <parameter name="scope" value="request"/>
                <parameter name="extension" value=".jwr"/>
            </handler>
        </requestFlow>
    </globalConfiguration>


Hoe komt dit? Heel simpel: ik gebruik IntelliJ, en ik heb wat refactoring gedaan. Tijdens het refactoren is er blijkbaar zoveer veranderd dat IntelliJ ook de handler tag heeft vervangen naar XMLRPCHandler. Waarom weet ik niet, maar het terugveranderen is wel de oplossing. Echt irri dit... }:O