最近、SMPP プロトコルの wso2 esb でサポートされているオプションを調べていました。いくつかのブログや Web サイトをたどりましたが、解決できないエラーが 1 つあります。
私のシナリオは、SMPP プロトコルを介して ESB にメッセージを送信することです。SMPP 経由でメッセージを送信するたびに、次のエラーが表示されます
ERROR {org.apache.axis2.engine.AxisEngine} - The service cannot be found for the endpoint reference (EPR) {org.apache.axis2.engine.AxisEngine}
org.apache.axis2.AxisFault: The service cannot be found for the endpoint reference (EPR)
at org.apache.axis2.engine.DispatchPhase.validateTransport(DispatchPhase.java:251)
at org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:109)
at org.apache.axis2.engine.Phase.invoke(Phase.java:329)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:261)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:167)
at org.apache.axis2.transport.sms.SMSManager.dispatchToAxis2(SMSManager.java:162)
at org.apache.axis2.transport.sms.smpp.SMPPDispatcher.dispatch(SMPPDispatcher.java:46)
at org.apache.axis2.transport.sms.smpp.SMPPListener.onAcceptDeliverSm(SMPPListener.java:85)
at org.jsmpp.session.SMPPSession.fireAcceptDeliverSm(SMPPSession.java:457)
at org.jsmpp.session.SMPPSession.access$400(SMPPSession.java:92)
at org.jsmpp.session.SMPPSession$ResponseHandlerImpl.processDeliverSm(SMPPSession.java:474)
at org.jsmpp.session.state.SMPPSessionBoundRX.processDeliverSm0(SMPPSessionBoundRX.java:109)
at org.jsmpp.session.state.SMPPSessionBoundRX.processDeliverSm(SMPPSessionBoundRX.java:51)
at org.jsmpp.session.PDUProcessTask.run(PDUProcessTask.java:81)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
私のプロキシ名は「SmsProxyTest」で、送信しようとしているメッセージは SmsProxyTest:mediate です
私は正確なメッセージ形式さえ知りません。
users.txt で、以下の詳細について言及しました。
name=esb
password=esb
timeout=unlimited
bound=t,r
プロキシー:
<?xml version="1.0" encoding="UTF-8"?><proxy xmlns="http://ws.apache.org/ns/synapse" name="SmsProxyTest" startOnLoad="true" statistics="disable" trace="disable" transports="sms">
<target>
<inSequence>
<log level="full"/>
</inSequence>
<outSequence/>
<endpoint>
<address uri="http://localhost:8080/services/checkMsisdn"/>
</endpoint>
</target>
<description/>
</proxy>
Axis2.xml
<transportReceiver name="sms" class="org.apache.axis2.transport.sms.SMSMessageReciever">
<parameter name="systemType">cp</parameter>
<parameter name="systemId">esb</parameter>
<parameter name="password">esb</parameter>
<parameter name="host">localhost</parameter>
<parameter name="port">7777</parameter>
<parameter name="phoneNumber">918105735018</parameter>
</transportReceiver>
これとは別に、「axis2-transport-sms-1.0.0.jar」と「jsmpp-2.1.0.jar」を配置しました。
何が欠けているのか教えてください。