Hi All,

I am running my client on java 1.4 with axis2 1.4.1

I am able to send the server message. However, axis2 seems like cannot
construct the response from the soap message the server replied.

Following exception occurred when the client tried to construct the
response from the soap message.
It was caused the by axis2 cannot set the timestamp of the message.
When I look at the the soap xml. The Timestamp is
<ns4:TimeStamp></ns4:TimeStamp>
and when i check the schema of the response message.
<xsd:element name="TimeStamp" type="smscmn:TimeStampType"
maxOccurs="1" minOccurs="0"/>
Its minOccurs="0" is correct. So, is axis2 cannot handle timestamp
having minOccurs=0 ? or Did I do something wrong?


thanks,
Chun Tung

org.apache.axis2.AxisFault
        at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
        at 
xxxx.sdp.ws.sms.wsdl.send.SmsSendServiceStub.fromOM(SmsSendServiceStub.java:12211)
        at 
xxxx.sdp.ws.sms.wsdl.send.SmsSendServiceStub.SendSms(SmsSendServiceStub.java:209)
        at testM1wb.main(testM1wb.java:85)
Caused by: java.lang.RuntimeException
        at 
xxxx.sdp.ws.sms.wsdl.send.SmsSendServiceStub$TimeStampType.setTimeStampType(SmsSendServiceStub.java:7957)
        at 
xxxx.sdp.ws.sms.wsdl.send.SmsSendServiceStub$TimeStampType$Factory.parse(SmsSendServiceStub.java:8311)
        at 
xxxx.sdp.ws.sms.wsdl.send.SmsSendServiceStub$DestinationResponseType$Factory.parse(SmsSendServiceStub.java:11050)
        at 
xxxx.sdp.ws.sms.wsdl.send.SmsSendServiceStub$DestinationResponseListType$Factory.parse(SmsSendServiceStub.java:5132)
        at 
xxxx.sdp.ws.sms.wsdl.send.SmsSendServiceStub$SendSmsResponseType$Factory.parse(SmsSendServiceStub.java:5925)
        at 
xxxx.sdp.ws.sms.wsdl.send.SmsSendServiceStub$SendSmsResponseElement$Factory.parse(SmsSendServiceStub.java:7532)
        at 
xxxx.sdp.ws.sms.wsdl.send.SmsSendServiceStub.fromOM(SmsSendServiceStub.java:12191)
        ... 2 more
Exception in thread "main"



Here is the soap response

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
        <soap:Body>
        <ns4:SendSmsResponseElement xmlns="http://xxxx/sdp/ws/sms/wsdl/acm";
xmlns:ns2="http://xxxx/sdp/ws/sms/wsdl/header";
xmlns:ns3="http://xxxx/sdp/ws/sms/wsdl/application";
xmlns:ns4="http://xxxx/sdp/ws/sms/wsdl/send";
xmlns:ns5="http://xxxx/sdp/ws/sms/wsdl/common";
xmlns:ns6="http://xxxx/sdp/ws/sms/wsdl/error";>
        <ns4:MessageId>109050614180004</ns4:MessageId>
        <ns4:StatusCode>4001</ns4:StatusCode>
        <ns4:StatusDetail>System.</ns4:StatusDetail>
        <ns4:DestinationResponses><ns4:destinationResponse>
        <ns4:Destination></ns4:Destination>
        <ns4:TimeStamp></ns4:TimeStamp>
        <ns4:MessageId></ns4:MessageId>
        <ns4:StatusCode></ns4:StatusCode>
        <ns4:StatusDetail></ns4:StatusDetail>
        </ns4:destinationResponse></ns4:DestinationResponses>
        </ns4:SendSmsResponseElement>
        </soap:Body>
</soap:Envelope>



XSD

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema";
    xmlns:smscmn="http://xxxx/sdp/ws/sms/wsdl/common";
    xmlns:app="http://xxxx/sdp/ws/sms/wsdl/application";
    xmlns:tns="http://xxxx/sdp/ws/sms/wsdl/deliver";
targetNamespace="http://xxxx/sdp/ws/sms/wsdl/deliver";
elementFormDefault="qualified">
  <xsd:import namespace="http://xxxx/sdp/ws/sms/wsdl/application";
schemaLocation="Application-Definitions.xsd" />
  <xsd:import namespace="http://xxxx/sdp/ws/sms/wsdl/common";
schemaLocation="SMS-Common-Definitions.xsd"/>
  <xsd:complexType name="SegmentListType">
    <xsd:sequence>
      <xsd:element maxOccurs="unbounded" minOccurs="1" name="segment"
type="smscmn:SegmentType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="DeliverSmsRequestType">
    <xsd:sequence>
      <xsd:element name="Destination" type="xsd:string" maxOccurs="1"
minOccurs="0"/>
      <xsd:element name="SourceAddress" type="xsd:string"
maxOccurs="1" minOccurs="1"/>
      <xsd:element name="Encoding" type="smscmn:SmsEncodingType"/>
      <xsd:element name="Segment" type="smscmn:SegmentType"
maxOccurs="1" minOccurs="1"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="DeliverSmsResponseType">
    <xsd:sequence>
      <xsd:element name="StatusCode" type="xsd:string" maxOccurs="1"
minOccurs="1"/>
      <xsd:element name="StatusDetail" type="xsd:string" maxOccurs="1"
minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="SmsDeliveryStatusType">
    <xsd:sequence>
      <xsd:element name="Destination" type="smscmn:MSISDNType"/>
      <xsd:element name="Application" type="app:ApplicationType"
maxOccurs="1" minOccurs="1"/>
      <xsd:element name="TimeStamp" type="smscmn:TimeStampType"
maxOccurs="1" minOccurs="0"/>
      <xsd:element name="MessageId" type="xsd:string" maxOccurs="1"
minOccurs="0"/>
      <xsd:element name="Status" type="smscmn:StatusType"
maxOccurs="1" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:element name="DeliverSmsRequestElement"
type="tns:DeliverSmsRequestType"/>
  <xsd:element name="DeliverSmsResponseElement"
type="tns:DeliverSmsResponseType"/>
  <xsd:element name="SmsDeliveryStatusElement"
type="tns:SmsDeliveryStatusType"/>
  <xsd:element name="SDPError" type="smscmn:SDPError"/>
</xsd:schema>

Reply via email to