View Issue Details

IDProjectCategoryView StatusLast Update
0000412easycwmpQuestionpublic2020-07-31 11:18
ReporterKaituozhe64 Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
PlatformMIPSOSLinuxOS Versionlinux-3.18.24.x
Summary0000412: easycwmp connect to XACS or OpenACS, but Inform ParameterList is empty, how to send a inform with ParameterValue?
Description2020-07-27 09:54:26 [easycwmp] NOTICE - send Inform
2020-07-27 09:54:26 [easycwmp] DEBUG - +++ SEND HTTP REQUEST +++
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <soap_env:Envelope
xmlns:soap_env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soap_enc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:cwmp="urn:dslforum-org:cwmp-1-2">
  <soap_env:Header>
   <cwmp:ID soap_env:mustUnderstand="1">1</cwmp:ID>
  </soap_env:Header>
  <soap_env:Body>
   <cwmp:Inform>
    <DeviceId>
     <Manufacturer>easycwmp</Manufacturer>
     <OUI>FFFFFF</OUI>
     <ProductClass>easycwmp</ProductClass>
     <SerialNumber>FFFFFF123456</SerialNumber>
    </DeviceId>
    <Event soap_enc:arrayType="cwmp:EventStruct[2]">
     <EventStruct>
      <EventCode>0 BOOTSTRAP</EventCode>
      <CommandKey />
     </EventStruct>
     <EventStruct>
      <EventCode>1 BOOT</EventCode>
      <CommandKey />
     </EventStruct>
    </Event>
    <MaxEnvelopes>1</MaxEnvelopes>
    <CurrentTime>2020-07-27T09:54:26+08:00</CurrentTime>
    <RetryCount>0</RetryCount>
    <ParameterList soap_enc:arrayType="cwmp:ParameterValueStruct[0]" />
   </cwmp:Inform>
  </soap_env:Body>
 </soap_env:Envelope>

2020-07-27 09:54:26 [easycwmp] DEBUG - --- SEND HTTP REQUEST ---
* Trying 192.168.254.200:80...
* Connected to 192.168.254.200 (192.168.254.200) port 80 (#0)
> POST /acs HTTP/1.1
Host: 192.168.254.200
User-Agent: easycwmp
Content-Type: text/xml; charset="utf-8"
SOAPAction:
Content-Length: 1164

* upload completely sent off: 1164 out of 1164 bytes
* Mark bundle as not supporting multiuse
* The requested URL returned error: 500 Internal Server Error
* Closing connection 0
2020-07-27 09:54:26 [easycwmp] NOTICE - LibCurl Error: The requested URL returned error: 500 Internal Server Error
2020-07-27 09:54:26 [easycwmp] NOTICE - sending http message failed
2020-07-27 09:54:26 [easycwmp] DEBUG - sending Inform http message failed
2020-07-27 09:54:26 [easycwmp] NOTICE - sending Inform failed
2020-07-27 09:54:26 [easycwmp] NOTICE - external: execute apply service
2020-07-27 09:54:26 [easycwmp] NOTICE - external script exit
2020-07-27 09:54:26 [easycwmp] NOTICE - end session failed
2020-07-27 09:54:26 [easycwmp] NOTICE - retry session in 7 sec, RetryCount = 1
Steps To Reproduce1、easycwmp connect to XACS or OpenACS
easycwmpd -f -b
2、OpenACS Server print:
Parsing failed:
...
java.lang.RuntimeException: Invalid root. Must be InternetGatewayDevice or Device
3、The device which runs easycwmpd, print "500 Internal Server Error":
see in Description.

I guess the parameter list is empty due to improper configuration of easycwmp, and easycwmp get value can get the parameters.
Additional Information~ # easycwmp get value
{ "parameter": "Device.DeviceInfo.SpecVersion", "value": "1.0" }
{ "parameter": "Device.DeviceInfo.ProvisioningCode", "value": "" }
{ "parameter": "Device.DeviceInfo.Manufacturer", "value": "easycwmp" }
{ "parameter": "Device.DeviceInfo.ManufacturerOUI", "value": "FFFFFF" }
{ "parameter": "Device.DeviceInfo.ProductClass", "value": "easycwmp" }
{ "parameter": "Device.DeviceInfo.SerialNumber", "value": "FFFFFF123456" }
{ "parameter": "Device.DeviceInfo.HardwareVersion", "value": "example_hw_version" }
{ "parameter": "Device.DeviceInfo.SoftwareVersion", "value": "example_sw_version" }
{ "parameter": "Device.DeviceInfo.UpTime", "value": "2126", "type": "xsd:unsignedInt" }
{ "parameter": "Device.DeviceInfo.DeviceLog", "value": "" }
{ "parameter": "Device.DeviceInfo.MemoryStatus.Total", "value": "118112" }
{ "parameter": "Device.DeviceInfo.MemoryStatus.Free", "value": "58232" }
{ "parameter": "Device.DHCPv4.Server.Enable", "value": "0", "type": "xsd:boolean" }
{ "parameter": "Device.IP.Diagnostics.IPPing.DiagnosticsState", "value": "None" }
{ "parameter": "Device.IP.Diagnostics.IPPing.Host", "value": "" }
{ "parameter": "Device.IP.Diagnostics.IPPing.NumberOfRepetitions", "value": "3", "type": "xsd:unsignedInt" }
{ "parameter": "Device.IP.Diagnostics.IPPing.Timeout", "value": "1000", "type": "xsd:unsignedInt" }
{ "parameter": "Device.IP.Diagnostics.IPPing.DataBlockSize", "value": "64", "type": "xsd:unsignedInt" }
{ "parameter": "Device.IP.Diagnostics.IPPing.SuccessCount", "value": "0", "type": "xsd:unsignedInt" }
{ "parameter": "Device.IP.Diagnostics.IPPing.FailureCount", "value": "0", "type": "xsd:unsignedInt" }
{ "parameter": "Device.IP.Diagnostics.IPPing.AverageResponseTime", "value": "0", "type": "xsd:unsignedInt" }
{ "parameter": "Device.IP.Diagnostics.IPPing.MinimumResponseTime", "value": "0", "type": "xsd:unsignedInt" }
{ "parameter": "Device.IP.Diagnostics.IPPing.MaximumResponseTime", "value": "0", "type": "xsd:unsignedInt" }
{ "parameter": "Device.ManagementServer.URL", "value": "http:\/\/192.168.254.200:80\/acs" }
{ "parameter": "Device.ManagementServer.Username", "value": "root" }
{ "parameter": "Device.ManagementServer.Password", "value": "" }
{ "parameter": "Device.ManagementServer.PeriodicInformEnable", "value": "1", "type": "xsd:boolean" }
{ "parameter": "Device.ManagementServer.PeriodicInformInterval", "value": "100", "type": "xsd:unsignedInt" }
{ "parameter": "Device.ManagementServer.PeriodicInformTime", "value": "0001-01-01T00:00:00Z", "type": "xsd:dateTime" }
{ "parameter": "Device.ManagementServer.ConnectionRequestURL", "value": "http:\/\/192.168.254.1:7547\/" }
{ "parameter": "Device.ManagementServer.ConnectionRequestUsername", "value": "easycwmp" }
{ "parameter": "Device.ManagementServer.ConnectionRequestPassword", "value": "" }
{ "parameter": "Device.ManagementServer.ParameterKey", "value": "" }
{ "parameter": "Device.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.ConnectionStatus", "value": "Connected" }
{ "parameter": "Device.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.ExternalIPAddress", "value": "2206_v" }
{ "parameter": "Device.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.MACAddress", "value": "" }
TagsNo tags attached.
e-mail notification

Activities

Kaituozhe64

2020-07-31 11:18

reporter   ~0001002

I have fixed this bug, it is because of:
The common_entry_inform function in common script file:
--------------------------------------------------------------------------------
local forced_list=${entry_execute_method_list_forcedinform:-$entry_execute_method_list}
--------------------------------------------------------------------------------
should be changed to:
--------------------------------------------------------------------------------
local forced_list="${entry_execute_method_list_forcedinform:-$entry_execute_method_list}"
--------------------------------------------------------------------------------

It may be because the Embedded system uses sh instead of bash, and there have been similar character quote errors in several other places.

Issue History

Date Modified Username Field Change
2020-07-30 14:18 Kaituozhe64 New Issue
2020-07-31 11:18 Kaituozhe64 Note Added: 0001002