Skip to content

11.25 online-portal的xml解析

数据库

iportal库
services表
metadata字段

错误日志

[org.xml.sax.SAXParseException; lineNumber: 34; columnNumber: 6; 不允许有匹配 "[xX][mM][lL]" 的处理指令目标。]
	at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:335)
	at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(UnmarshallerImpl.java:578)
	at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:264)
	at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:229)
	at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157)
	at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:204)
	at com.supermap.services.utils.JAXBTools.unMarshal(SourceFile:342)
	at com.supermap.iportal.web.commontypes.ServiceInfo.setMetadataString(SourceFile:315)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.ibatis.reflection.invoker.MethodInvoker.invoke(MethodInvoker.java:44)
	at org.apache.ibatis.reflection.wrapper.BeanWrapper.setBeanProperty(BeanWrapper.java:180)
	at org.apache.ibatis.reflection.wrapper.BeanWrapper.set(BeanWrapper.java:59)
	at org.apache.ibatis.reflection.MetaObject.setValue(MetaObject.java:140)
	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.applyAutomaticMappings(DefaultResultSetHandler.java:567)
	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.getRowValue(DefaultResultSetHandler.java:403)
	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValuesForSimpleResultMap(DefaultResultSetHandler.java:355)
	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValues(DefaultResultSetHandler.java:329)
	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSet(DefaultResultSetHandler.java:302)
	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSets(DefaultResultSetHandler.java:195)
	at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65)
	at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79)
	at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:63)
	at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325)
	at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
	at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109)
	at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:89)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:145)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)
	at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)
	at com.sun.proxy.$Proxy16.selectList(Unknown Source)
	at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224)
	at com.supermap.iportal.web.dao.impl.ServiceInfoDaoImpl.selectServiceInfosByIsBatch(SourceFile:437)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
	at com.sun.proxy.$Proxy86.selectServiceInfosByIsBatch(Unknown Source)
	at com.supermap.iportal.web.components.impl.ServiceInfoComponentImpl.getServiceInfosByIsBatch(SourceFile:428)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
	at com.sun.proxy.$Proxy111.getServiceInfosByIsBatch(Unknown Source)
	at com.supermap.iportal.web.utils.CheckServiceOfflineTask.run(SourceFile:72)
	at java.util.TimerThread.mainLoop(Timer.java:555)
	at java.util.TimerThread.run(Timer.java:505)

关键信息

at com.supermap.iportal.web.utils.CheckServiceOfflineTask.run(SourceFile:72)
at com.supermap.iportal.web.components.impl.ServiceInfoComponentImpl.getServiceInfosByIsBatch(SourceFile:428)
at com.supermap.iportal.web.dao.impl.ServiceInfoDaoImpl.selectServiceInfosByIsBatch(SourceFile:437)
at com.supermap.iportal.web.commontypes.ServiceInfo.setMetadataString(SourceFile:315)
at com.supermap.services.utils.JAXBTools.unMarshal(SourceFile:342)

arthos

watch com.supermap.icloud.cas.client.service.AccountManagerService nickNameModify '{params,returnObj,throwExp}' -v -n 5 -x 3 '1==1'


watch com.supermap.iportal.web.commontypes.ServiceInfo setMetadataString
'{params,returnObj,throwExp}' -v -n 5 -x 3 '1==1'

watch com.supermap.services.utils.JAXBTools unMarshal
'{params,returnObj,throwExp}' -v -n 5 -x 3 '1==1'

watch com.supermap.iportal.web.commontypes.ServiceInfo setMetadataString '{params,returnObj,throwExp}' -v -n 5 -x 3 '1==1'

watch com.supermap.iportal.web.rest.resources.impl.GisToolsServiceResource coordinateConvert '{params,returnObj,throwExp}' -v -n 5 -x 3 '1==1'

watch com.supermap.icloud.web.components.impl.CoordinateConvertImpl ConvertWithIserver '{params,returnObj,throwExp}' -v -n 5 -x 3 '1==1'

watch com.supermap.icloud.web.components.impl.CoordinateConvertImpl createTmpFile '{params,returnObj,throwExp}' -v -n 5 -x 3 '1==1'


watch com.supermap.iportal.web.utils.ExcelUtil ExcelUtil '{params,returnObj,throwExp}' -v -n 5 -x 3 '1==1'
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: pvc-imanager-database-data
  namespace: imanager
  labels:
    kind: imanager-base
    type: imanager
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 1Gi
  storageClassName: imanager-storage-class
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: pv-nfs-kibana
  uid: 7d089ef6-b025-4d61-8cd6-aa30ef2fc37a
  resourceVersion: '59959935'
  creationTimestamp: '2022-01-29T02:02:08Z'
  labels:
    kind: imanager-base
    type: storage-class
provisioner: nfs-client-provisioner-1
reclaimPolicy: Delete
volumeBindingMode: Immediate

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: pv-nfs-kibana
  uid: 7d089ef6-b025-4d61-8cd6-aa30ef2fc37a
  resourceVersion: '59959935'
  creationTimestamp: '2022-01-29T02:02:08Z'
  labels:
    kind: imanager-base
    type: storage-class
provisioner: nfs-client-provisioner-1
reclaimPolicy: Delete
volumeBindingMode: Immediate
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<smmd:Metadata xmlns:smmd="http://data.sbsm.gov.cn/smmd/2007">\n    <smmd:mdContact>\n        <smmd:rpCntInfo>\n            <smmd:cntAddress/>\n        </smmd:rpCntInfo>\n    </smmd:mdContact>\n    <smmd:dataIdInfo>\n        <smmd:DataIdent>\n            <smmd:idCitation>\n                <smmd:resTitle>restmap</smmd:resTitle>\n            </smmd:idCitation>\n            <smmd:idAbs></smmd:idAbs>\n            <smmd:dataExt>\n                <smmd:geoEle>\n                    <smmd:GeoBndBox>\n                        <smmd:westBL>-180.0</smmd:westBL>\n                        <smmd:eastBL>180.00000000007202</smmd:eastBL>\n                        <smmd:southBL>-90.00000000003598</smmd:southBL>\n                        <smmd:northBL>90.00000000000001</smmd:northBL>\n                    </smmd:GeoBndBox>\n                </smmd:geoEle>\n            </smmd:dataExt>\n        </smmd:DataIdent>\n    </smmd:dataIdInfo>\n    <smmd:refSysInfo>\n        <smmd:MdCoRefSys>\n            <smmd:longCntMer>0.0</smmd:longCntMer>\n            <smmd:zone>0</smmd:zone>\n        </smmd:MdCoRefSys>\n        <smmd:refSysID>4326</smmd:refSysID>\n    </smmd:refSysInfo>\n    <smmd:distInfo>\n        <smmd:onLineSrc>\n            <smmd:linkage>https://iserver.supermap.io/iserver/services/map-world/rest</smmd:linkage>\n        </smmd:onLineSrc>\n    </smmd:distInfo>\n</smmd:Metadata>\n

删掉旧数据,新发一个服务

[arthas@101]$ watch com.supermap.iportal.web.commontypes.ServiceInfo setMetadataString '{params,returnObj,throwExp}' -v -n 5 -x 3 '1==1'
Press Q or Ctrl+C to abort.
Affect(class count: 1 , method count: 1) cost in 131 ms, listenerId: 2
Condition express: 1==1 , result: true
method=com.supermap.iportal.web.commontypes.ServiceInfo.setMetadataString location=AtExit
ts=2021-11-30 12:08:56; [cost=24.139848ms] result=@ArrayList[
    @Object[][
        @String[<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<smmd:Metadata xmlns:smmd="http://data.sbsm.gov.cn/smmd/2007">\n    <smmd:mdFileID>903943226</smmd:mdFileID>\n    <smmd:dataIdInfo>\n        <smmd:DataIdent>\n            <smmd:idCitation>\n                <smmd:resTitle>data_pipeline3d_n01shmic</smmd:resTitle>\n            </smmd:idCitation>\n            <smmd:idAbs>???????????????????????????????????????</smmd:idAbs>\n        </smmd:DataIdent>\n    </smmd:dataIdInfo>\n    <smmd:distInfo>\n        <smmd:onLineSrc>\n            <smmd:linkage>http://192.168.11.188:30187/iserver/services/data_pipeline3d_n01shmic/rest</smmd:linkage>\n        </smmd:onLineSrc>\n    </smmd:distInfo>\n</smmd:Metadata>\n],
    ],
    null,
    null,
]