Can you try adding it to the endpoint itself:

<jaxws:endpoint
        id="paymentService"
        implementor="com.company.ComeServiceImpl"
        wsdlLocation="config/wsdl/someService.wsdl"
        address="/someService">
        <jaxws:properties>
            <entry key="schema-validation-enabled" value="true" />
        </jaxws:properties>
        <jaxws:inInterceptors>
                <ref bean="theInterceptor" />
        </jaxws:inInterceptors>     </jaxws:endpoint>

Dan


On Aug 1, 2008, at 9:53 AM, Santosh Kulkarni wrote:

Sorry about previous posting on another thread. Here goes.
Hi,

I wanted to intercept the marshalling process and catch the exception
and throw a generic fault instead of the standard fault that I see when
I turn on validation.
I tried putting in a validation as given at the end of the email.
Questions:
1) Why doesn't this work?(My sysout doesn’t show up) Is my phase constant wrong?
2) Is this the best way to intercept the marshalling process?
Thanks
Santosh


Spring configuration
<bean name="theInterceptor"
                class="com.company.MarshallInterceptor">
        </bean>
</cxf:features>
        <cxf:inInterceptors>
                        <ref bean="theInterceptor" />
                </cxf:inInterceptors>
    </cxf:bus>
<jaxws:endpoint
        id="paymentService"
        implementor="com.company.ComeServiceImpl"
        wsdlLocation="config/wsdl/someService.wsdl"
        address="/someService">
        <jaxws:properties>
            <entry key="schema-validation-enabled" value="true" />
        </jaxws:properties>
    </jaxws:endpoint>


Interceptor code:

package com.company;

import java.io.IOException;

import javax.xml.bind.helpers.AbstractMarshallerImpl;

import org.apache.cxf.attachment.AttachmentDeserializer;
import org.apache.cxf.interceptor.Fault;
import org.apache.cxf.message.Message;
import org.apache.cxf.phase.AbstractPhaseInterceptor;
import org.apache.cxf.phase.Phase;

public class MarshallInterceptor extends
AbstractPhaseInterceptor<Message> {
    public MarshallInterceptor() {
        super(Phase.PRE_MARSHAL);
    }

    public void handleMessage(Message message) {
String contentType = (String) message.get(Message.CONTENT_TYPE);
        System.out.println("handling the message "+contentType);
    }

    public void handleFault(Message messageParam) {
    System.out.println("there was a fault ");
    }
}
The information transmitted is intended only for the person or entity to
which it is addressed and may contain confidential and/or privileged
material. If the reader of this message is not the intended recipient, you are hereby notified that your access is unauthorized, and any review,
dissemination, distribution or copying of this message including any
attachments is strictly prohibited.   If you are not the intended
recipient, please contact the sender and delete the material from any
computer.

---
Daniel Kulp
[EMAIL PROTECTED]
http://www.dankulp.com/blog




Reply via email to