Thanks, Anne

We are using RPC style, I think, with the settings below - this seems to
let Axis work pretty automatically, with no extra coding needed. It
doesn't seem to really care if the parameters are in a different order
than they're listed in the Java method that they eventually map to,
either!

I have no clue if this is the "right" way to automatically handle these
soap calls, but it's what we have now...:)

Cheers
Tracey Annison
=====================================================
We have entries like this in web.xml:
[CODE]    <listener>
        <listener-class>

org.apache.axis.transport.http.AxisHTTPSessionListener
        </listener-class>
    </listener>

    <servlet>
        <display-name>Apache-Axis Servlet</display-name>
        <servlet-name>axis</servlet-name>
        <servlet-class>

com.workingmouse.webservice.axis.SpringAxisServlet
        </servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>axis</servlet-name>
        <url-pattern>/servlet/AxisServlet</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>axis</servlet-name>
        <url-pattern>*.jws</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>axis</servlet-name>
        <url-pattern>/services/*</url-pattern>
    </servlet-mapping>[/CODE]

And these bits in our server-config.wsdd :
[CODE]    <!-- Global config options -->
    <globalConfiguration>
        <parameter name="adminPassword" value="admin"/>
        <parameter name="attachments.Directory" value="./attachments"/>
        <parameter name="attachments.implementation"
                value="org.apache.axis.attachments.AttachmentsImpl"/>
        <parameter name="sendXsiTypes" value="true"/>
        <parameter name="sendMultiRefs" value="true"/>
        <parameter name="sendXMLDeclaration" value="true"/>
        <parameter name="axis.sendMinimizedElements" 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>

    <handler name="acegiAuthenticationHandler"
type="java:{our}.AcegiAuthenticationHandler"/>
        </requestFlow>

        <responseFlow>
                <handler name="OutgoingSOAPMessageViewer"
type="java:{our}.OutgoingSOAPMessageViewer"/>
        </responseFlow>
    </globalConfiguration>

    <!-- Handlers -->
    <handler name="LocalResponder"
            type="java:org.apache.axis.transport.local.LocalResponder"/>
    <handler name="URLMapper"
            type="java:org.apache.axis.handlers.http.URLMapper"/>
    <handler name="Authenticate"

type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>

    <!-- Axis services -->
    <service name="AdminService" provider="java:MSG">
        <parameter name="allowedMethods" value="AdminService"/>
        <parameter name="enableRemoteAdmin" value="true"/>
        <parameter name="className"
value="org.apache.axis.utils.Admin"/>
        <namespace>http://xml.apache.org/axis/wsdd/</namespace>
    </service>
    <service name="Version" provider="java:RPC">
        <parameter name="allowedMethods" value="getVersion"/>
        <parameter name="className" value="org.apache.axis.Version"/>
    </service>

    <!-- Global config options -->
    <transport name="http">
        <requestFlow>
            <handler type="URLMapper"/>
            <handler
type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
        </requestFlow>
    </transport>
    <transport name="local">
        <responseFlow>
            <handler type="LocalResponder"/>
        </responseFlow>
    </transport>

    <service name="DiaryServices" provider="Handler" style="rpc">
        <parameter name="handlerClass"
value="com.workingmouse.webservice.axis.SpringBeanRPCProvider"/>
        <parameter name="springBean" value="diaryServices"/>
        <parameter name="springBeanClass"
value="uk.co.trisystems.morph.ta.diary.soap.DiaryService"/>
        <parameter name="allowedMethods" value="createDiary getDiary"/>
        <parameter name="scope" value="application"/>
        <beanMapping qname="ns:diary" xmlns:ns="urn:DiaryService"
languageSpecificType="java:uk.co.trisystems.morph.ta.diary.soap.DiarySoa
pBean"/>
    </service>[/CODE]

> If you're using document style, then you can validate the message
against the schema.
>If you're using RPC style, it's less convenient to validate, because
you must validate each
> individual parameter type, and you need to check by eye whether the
parameters are in order.
>You can also use a diagnostic tool like Mindreef SOAPScope.
>Anne





----------------------------------------------------------------------
The information in this email is confidential and may be legally privileged.
It is intended solely for the addressee. Access to this email by
anyone else is unauthorised. If you are not the intended recipient,
any disclosure, copying, distribution, or any action taken or omitted
to be taken in reliance on it, is prohibited and may be unlawful.
TriSystems Ltd. cannot accept liability for statements made which are clearly
the sender's own.

Reply via email to