summaryrefslogtreecommitdiffstats
path: root/sandbox/rfeng/samples.M2/creditws-axis2/src/credit/CreditCheckServiceMessageReceiverInOut.java
blob: 498351f85d09cf26d451a53b98569d2b34f89c8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
/**
 * CreditCheckServiceMessageReceiverInOut.java
 *
 * This file was auto-generated from WSDL
 * by the Apache Axis2 version: 1.1-RC2 Nov 02, 2006 (02:37:50 LKT)
 */
package credit;

/**
 * CreditCheckServiceMessageReceiverInOut message receiver
 */

public class CreditCheckServiceMessageReceiverInOut extends
    org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver {

    public void invokeBusinessLogic(org.apache.axis2.context.MessageContext msgContext,
                                    org.apache.axis2.context.MessageContext newMsgContext)
        throws org.apache.axis2.AxisFault {

        try {

            // get the implementation class for the Web Service
            Object obj = getTheImplementationObject(msgContext);

            CreditCheckServiceSkeleton skel = (CreditCheckServiceSkeleton)obj;
            // Out Envelop
            org.apache.axiom.soap.SOAPEnvelope envelope = null;
            // Find the axisOperation that has been set by the Dispatch phase.
            org.apache.axis2.description.AxisOperation op =
                msgContext.getOperationContext().getAxisOperation();
            if (op == null) {
                throw new org.apache.axis2.AxisFault(
                                                     "Operation is not located, if this is doclit style the SOAP-ACTION should specified via the SOAP Action to use the RawXMLProvider");
            }

            java.lang.String methodName;
            if (op.getName() != null & (methodName = op.getName().getLocalPart()) != null) {

                if ("getCreditScore".equals(methodName)) {

                    credit.GetCreditScoreResponse param11 = null;

                    // doc style
                    credit.GetCreditScore wrappedParam =
                        (credit.GetCreditScore)fromOM(msgContext.getEnvelope().getBody().getFirstElement(),
                                                      credit.GetCreditScore.class,
                                                      getEnvelopeNamespaces(msgContext.getEnvelope()));

                    param11 = skel.getCreditScore(wrappedParam);

                    envelope = toEnvelope(getSOAPFactory(msgContext), param11, false);

                }

                newMsgContext.setEnvelope(envelope);
            }
        } catch (Exception e) {
            throw org.apache.axis2.AxisFault.makeFault(e);
        }
    }

    //
    private org.apache.axiom.om.OMElement toOM(credit.GetCreditScore param, boolean optimizeContent) {

        return param.getOMElement(credit.GetCreditScore.MY_QNAME, org.apache.axiom.om.OMAbstractFactory
            .getOMFactory());

    }

    private org.apache.axiom.om.OMElement toOM(credit.GetCreditScoreResponse param, boolean optimizeContent) {

        return param.getOMElement(credit.GetCreditScoreResponse.MY_QNAME,
                                  org.apache.axiom.om.OMAbstractFactory.getOMFactory());

    }

    private org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory,
                                                          credit.GetCreditScoreResponse param,
                                                          boolean optimizeContent) {
        org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();

        emptyEnvelope.getBody().addChild(param.getOMElement(credit.GetCreditScoreResponse.MY_QNAME, factory));

        return emptyEnvelope;
    }

    /**
     * get the default envelope
     */
    private org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory) {
        return factory.getDefaultEnvelope();
    }

    private java.lang.Object fromOM(org.apache.axiom.om.OMElement param,
                                    java.lang.Class type,
                                    java.util.Map extraNamespaces) {

        try {

            if (credit.GetCreditScore.class.equals(type)) {

                return credit.GetCreditScore.Factory.parse(param.getXMLStreamReaderWithoutCaching());

            }

            if (credit.GetCreditScoreResponse.class.equals(type)) {

                return credit.GetCreditScoreResponse.Factory.parse(param.getXMLStreamReaderWithoutCaching());

            }

        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        return null;
    }

    /**
     * A utility method that copies the namepaces from the SOAPEnvelope
     */
    private java.util.Map getEnvelopeNamespaces(org.apache.axiom.soap.SOAPEnvelope env) {
        java.util.Map returnMap = new java.util.HashMap();
        java.util.Iterator namespaceIterator = env.getAllDeclaredNamespaces();
        while (namespaceIterator.hasNext()) {
            org.apache.axiom.om.OMNamespace ns = (org.apache.axiom.om.OMNamespace)namespaceIterator.next();
            returnMap.put(ns.getPrefix(), ns.getNamespaceURI());
        }
        return returnMap;
    }

    private org.apache.axis2.AxisFault createAxisFault(java.lang.Exception e) {
        org.apache.axis2.AxisFault f;
        Throwable cause = e.getCause();
        if (cause != null) {
            f = new org.apache.axis2.AxisFault(e.getMessage(), cause);
        } else {
            f = new org.apache.axis2.AxisFault(e.getMessage());
        }

        return f;
    }

}// end of class