DeliverRsp Problem header soap-env | Search |
NowSMS Support Forums ⬆ NowSMS Support - MMS & Advanced Issues ⬆ Archive through July 28, 2006 ⬆ |
◄ ► |
Author | Message | ||||
Dejan Petkovic New member Username: Pdeki Post Number: 1 Registered: 03-2006 |
Hi, I've connected NowMMS with the MMSC via MM7. I received MMS and forwarder in MMS-IN folder. When I send a MMS message and NowSMS received it after some period of time I've received MMS that my message couldn't be delivered. My MMS provider told me that my response () isn't appropriate. The response is: <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header><mm7:Transacti onID xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-M M7-1-0" env:mustUnderstand="1">MMS_72_20060318143320630 </mm7:TransactionID></env:Header><env:Body><DeliverRsp xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1 -0"><MM7Version>5.3.0</MM7Version><Status><StatusCode>1000</StatusCode><StatusTe xt>Success</StatusText></Status></DeliverRsp></env:Body></env:Envelope> and should be something like: <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <TransactionID soap-env:mustUnderstand="1">MMS_48_20030325114307997</TransactionID> </soap-env:Header> <soap-env:Body> <DeliverRsp xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1 -0"> <MM7Version>5.3.0</MM7Version> <Status> <StatusCode>1000</StatusCode> <StatusText>Success</StatusText> </Status> <ServiceCode>test</ServiceCode> </DeliverRsp> </soap-env:Body> </soap-env:Envelope> The difference is soap-env Envelope and mm7 qualifier in TransactionID . How to change it ? | ||||
Bryce Norwood - NowSMS Support Board Administrator Username: Bryce Post Number: 5677 Registered: 10-2002 |
Hi Dejan, Both responses are perfectly legal. It sounds like there might be a bug in the service provider's MMSC. In the NowSMS MM7 response, we are indicating that the "mm7:" namespace prefix is associated with the MM7 XML schema, and the "TransactionID" is defined in that schema. In their example, they are doing the same thing, but indicating it without a namespace prefix. And whether it is "soap-env" or "env" as the other prefix should not matter, as long as it is defined properly. But that said, we'd like to come up with a solution to work around whatever bugs might be present in your service provider's MMSC. Before we try making any changes/adjustments, I'd like to see the submit message that is being received by NowSMS. That might provide us some clues as to what we are dealing with (and we might see something that we have already seen elsewhere). Could you please enable the MMSCDEBUG.LOG (the easiest way to do this is on the "Serial #" page of the configuration dialog) ... and receive another message. Then post the MMSCDEBUG.LOG so that we can see the data that is being received. -bn | ||||
Dejan Petkovic New member Username: Pdeki Post Number: 2 Registered: 03-2006 |
Hi, Thank you for the reply. In att. I'm sending part of the Debug.
I'm using NowSMS v5.51k (b20051013). Regards | ||||
Bryce Norwood - NowSMS Support Board Administrator Username: Bryce Post Number: 5692 Registered: 10-2002 |
Dejan, Download http://www.nowsms.com/download/dejan.zip. This file contains an updated MMSC.EXE which does not use the "mm7" namespace prefix for the TransactionID element. Let's give that a try, and see if it makes a difference. Do you know what type of MMSC the operator is using? I'm guessing that it's Comverse (based upon the "User-Agent:" field and the fact that it is using the 1.0 schema). Just what like to know to help keep track of oddities of different MMSC vendors. -bn | ||||
Dejan Petkovic New member Username: Pdeki Post Number: 3 Registered: 03-2006 |
Hi, Right now the response is" <?xml version="1.0" ?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header><TransactionID xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0" env:mustUnderstand="1">MMS_71_20060323094510181</TransactionID></env:Header><env :Body><DeliverRsp xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0"><MM7Version>5.3.0</MM7Version><Status><StatusCode>1000</StatusCode><StatusText >Success</StatusText></Status></DeliverRsp></env:Body></env:Envelope>" MMSC told me that on their side is an error:"ERROR mm7.mm7client - The response message is invalid (Soap body doesn't contain all needed elements)". I looked and saw that it seems that response should contain also ServiceCode element (in the schema is written <xs:element name="ServiceCode" type="tns:serviceCodeType" minOccurs="0"/>, but is seems that for them is needed). How to add it ? Yes, the MMSC is Comverse (!#!#$^#@$!@$##@@!). Regards | ||||
Bryce Norwood - NowSMS Support Board Administrator Username: Bryce Post Number: 5726 Registered: 10-2002 |
Hi Dejan, ServiceCode wouldn't be valid in a DeliverRsp, at least not in the schema that Comverse says that they are using (REL-5-MM7-1-0). It is an optional parameter for DeliverRsp in later versions of the schema. So I'd be surprised if they were requiring this element when it is not defined in the schema that they are using ... and is an optional parameter in later versions of the schema. But I think it's worth giving it a try. I've updated the http://www.nowsms.com/download/dejan.zip link from before. To add a ServiceCode to the Deliver response, edit VASP\name\VASP.INI, and under the [VASP] header, add ServiceCode=xxxxxxxxx to specify whatever value you want to have included. If that doesn't do the trick, then I'm leaning toward changing the "env" prefixes to "soap-env", although I can't imagine this being the problem either. -bn | ||||
Dejan Petkovic New member Username: Pdeki Post Number: 4 Registered: 03-2006 |
Hi, Right now the anser is: "<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header><TransactionID xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0" env:mustUnderstand="1">MMS_71_20060328100219765</TransactionID></env:Header><env :Body><DeliverRsp xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0"><MM7Version>5.3.0</MM7Version><ServiceCode>000000000</ServiceCode><Status><Sta tusCode>1000</StatusCode><StatusText>Success</StatusText></Status></DeliverRsp>< /env:Body></env:Envelope>" It seems that ServiceCode is the first element and not after Status element: In the schema is: <xs:complexType name="deliverRspType"> <xs:complexContent> <xs:extension base="tns:genericResponseType"> <xs:sequence> <xs:element name="ServiceCode" type="tns:serviceCodeType" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="genericResponseType"> <xs:annotation> <xs:documentation>Any simple response sent </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="MM7Version" type="tns:versionType"/> <xs:element name="Status" type="tns:responseStatusType"/> </xs:sequence> </xs:complexType> Is it possible to put ServiceCode after ? Regards Dejan | ||||
Bryce Norwood - NowSMS Support Board Administrator Username: Bryce Post Number: 5733 Registered: 10-2002 |
Dejan, I agree that is the way it is in the 1-1 (and later) schema. The reason that we put it before was because the 5.3.0 spec has an example of this response with "ServiceCode" appearing before the "Status" element. This example also references the 1-0 schema that does not even have this element defined. So we just thought we'd try acting like the example in the spec. But if that doesn't work, we can try using the proper order from the later schemas. I've updated the http://www.nowsms.com/download/dejan.zip link from before. -bn | ||||
Dejan Petkovic New member Username: Pdeki Post Number: 5 Registered: 03-2006 |
Hi, Now is OK. Now I'll try to send some MMS to see is some problem over there also. Regards | ||||
Dejan Petkovic New member Username: Pdeki Post Number: 6 Registered: 03-2006 |
Again me. I tryed to send MMS. And you can guess. Problem. I send: <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header><TransactionID xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0" env:mustUnderstand="1">20060331153112-4DABBBB0::40::192.168.2.3</TransactionID>< /env:Header><env:Body><SubmitReq xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0"><MM7Version>5.3.0</MM7Version><SenderIdentification><VASID>cepou4441311</VASID ></SenderIdentification><Recipients><To><Number>381646131040</Number></To></Reci pients><Priority>Normal</Priority><Subject>asd</Subject><Content href="cid:mms_cid"/><ServiceCode>0001</ServiceCode></SubmitReq></env:Body></env: Envelope> Response is: <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"><soap-env:Header><TransactionID xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0" soap-env:mustUnderstand="1">20060331153112-4DABBBB0::40::192.168.2.3</Transactio nID></soap-env:Header><soap-env:Body><soap-env:Fault><soap-env:faultcode>Server. Service</soap-env:faultcode><soap-env:faultstring>Server Error</soap-env:faultstring><soap-env:Detail><Status xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0"><StatusCode>4004</StatusCode><StatusText>Validation Error</StatusText><Details>Validation violation: element "ServiceCode" was found where no element may occur</Details></Status></soap-env:Detail></soap-env:Fault></soap-env:Body></soa p-env:Envelope> Shema is: <xs:complexType name="submitReqType"> <xs:complexContent> <xs:extension base="tns:genericVASPRequestType"> <xs:sequence> <xs:element name="Recipients" type="tns:recipientsType"/> <xs:element name="ServiceCode" type="tns:serviceCodeType" minOccurs="0"/> <xs:element name="LinkedID" type="tns:messageIDType" minOccurs="0"/> <xs:element name="MessageClass" type="tns:messageClassType" default="Informational" minOccurs="0"/> <xs:element name="TimeStamp" type="xs:dateTime" minOccurs="0"/> <xs:element name="ReplyCharging" minOccurs="0"> <xs:complexType> <xs:attribute name="replyChargingSize" type="xs:positiveInteger" use="optional"/> <xs:attribute name="replyDeadline" type="tns:relativeOrAbsoluteDateType" use="optional"/> </xs:complexType> </xs:element> <xs:element name="EarliestDeliveryTime" type="tns:relativeOrAbsoluteDateType" minOccurs="0"/> <xs:element name="ExpiryDate" type="tns:relativeOrAbsoluteDateType" minOccurs="0"/> <xs:element name="DeliveryReport" type="xs:boolean" minOccurs="0"/> <xs:element name="ReadReply" type="xs:boolean" minOccurs="0"/> <xs:element name="Priority" type="tns:priorityType" minOccurs="0"/> <xs:element name="Subject" type="xs:string" minOccurs="0"/> <xs:element name="ChargedParty" type="tns:chargedPartyType" minOccurs="0"/> <xs:element name="DistributionIndicator" type="xs:boolean" minOccurs="0"/> <xs:element name="Content" type="tns:contentReferenceType" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> It seems that ServiceCode couldn't be placed after Content element. It should be right after Recipients. Regards Dejan | ||||
Bryce Norwood - NowSMS Support Board Administrator Username: Bryce Post Number: 5755 Registered: 10-2002 |
Hi Dejan, I'm a bit confused because in a SubmitReq we do put the ServiceCode right after the recipients. (Maybe we didn't always, but certainly in that most recent version that you have, it would be there.) Unless ... you're not using the "AdditionalSettings" VASP.INI file setting, are you? It would put this there. But if you actually used the "Service Code" field in the MMSC Routing configuration, then it would appear where you expect it to appear. If you have an older configuration front-end that doesn't have a "Service Code" setting beneath "VASP ID" and "VAS ID", then you can manually edit VASP.INI, and add ServiceCode=0001 under the [VASP] header. -bn | ||||
Dejan Petkovic New member Username: Pdeki Post Number: 7 Registered: 03-2006 |
Hi, Yes I've changed VASP.INI because I need to do. I've changed schema and ServiceCode because of previous problems. My VASP.INI is: [VASP] MMSRouting=~MMSIN MM7Schema=http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0 ServiceCode=000000000 What should I change ? Regards | ||||
Bryce Norwood - NowSMS Support Board Administrator Username: Bryce Post Number: 5764 Registered: 10-2002 |
Hi Dejan, I'm referring to the VASP.INI for the outbound connection. (VASPOUT\xxxx\VASP.INI) It looks like you have used a setting in that file "AdditionalSettings" to add the ServiceCode for the outbound message routing. If you use that setting, it always adds these settings after the "Content" element. The proper way to add a Service Code is via the user interface, where there is a "Service Code" option ... under "VASP ID" and "VAS ID". If for some reason, the service code option is not present in the user interface, it can be added to VASPOUT\xxxxx\VASP.INI with a "ServiceCode=00000000" setting. Just make sure to remove the "AdditionalSettings=" option from that file. -bn | ||||
Dejan Petkovic New member Username: Pdeki Post Number: 8 Registered: 03-2006 |
Hi, Yeah. That was the problem. Thank you. Regards |