问题描述
- 紧急求助oagis.9.unqualifieddatatypes.1.1.xsd
-
2015-11-24 14:29:48,651 ERROR [SoapUI] An error occurred [error: cos-ct-extends.1.4.1: This type extends a base type 'TextType@http://www.openapplications.org/oagis/9/unqualifieddatatypes/1.1' which has simpleContent. In that case this type cannot add particles.], see error log for details
2015-11-24 14:29:48,651 ERROR [errorlog] org.apache.xmlbeans.XmlException: error: cos-ct-extends.1.4.1: This type extends a base type 'TextType@http://www.openapplications.org/oagis/9/unqualifieddatatypes/1.1' which has simpleContent. In that case this type cannot add particles.
org.apache.xmlbeans.XmlException: error: cos-ct-extends.1.4.1: This type extends a base type 'TextType@http://www.openapplications.org/oagis/9/unqualifieddatatypes/1.1' which has simpleContent. In that case this type cannot add particles.
at org.apache.xmlbeans.impl.schema.SchemaTypeSystemCompiler.compile(SchemaTypeSystemCompiler.java:225)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.xmlbeans.XmlBeans.compileXmlBeans(XmlBeans.java:667)
at org.apache.xmlbeans.XmlBeans.compileXsd(XmlBeans.java:553)
at com.eviware.soapui.impl.wsdl.support.xsd.SchemaUtils.buildSchemaTypes(SchemaUtils.java:260)
at com.eviware.soapui.impl.wsdl.support.xsd.SchemaUtils.loadSchemaTypes(SchemaUtils.java:179)
at com.eviware.soapui.impl.support.definition.support.XmlSchemaBasedInterfaceDefinition.loadSchemaTypes(XmlSchemaBasedInterfaceDefinition.java:74)
at com.eviware.soapui.impl.wsdl.support.wsdl.WsdlInterfaceDefinition.load(WsdlInterfaceDefinition.java:57)
at com.eviware.soapui.impl.wsdl.support.wsdl.WsdlContext.loadDefinition(WsdlContext.java:62)
at com.eviware.soapui.impl.wsdl.support.wsdl.WsdlContext.loadDefinition(WsdlContext.java:34)
at com.eviware.soapui.impl.support.definition.support.AbstractDefinitionContext.cacheDefinition(AbstractDefinitionContext.java:246)
at com.eviware.soapui.impl.support.definition.support.AbstractDefinitionContext.access$400(AbstractDefinitionContext.java:48)
at com.eviware.soapui.impl.support.definition.support.AbstractDefinitionContext$Loader.construct(AbstractDefinitionContext.java:219)
at com.eviware.soapui.support.swing.SwingWorkerDelegator.construct(SwingWorkerDelegator.java:46)
at com.eviware.soapui.support.swing.SwingWorker$2.run(SwingWorker.java:131)
at java.lang.Thread.run(Unknown Source)
使用cxf发布webservice之后,使用soapui调用出现如下问题:
2015-11-24 14:29:48,652 WARN [SchemaUtils] Error: error: cos-ct-extends.1.4.1: This type extends a base type 'TextType@http://www.openapplications.org/oagis/9/unqualifieddatatypes/1.1' which has simpleContent. In that case this type cannot add particles.
2015-11-24 14:29:48,652 WARN [SchemaUtils] Error: error: cos-ct-extends.1.4.1: This type extends a base type 'TextType@http://www.openapplications.org/oagis/9/unqualifieddatatypes/1.1' which has simpleContent. In that case this type cannot add particles.代码:
@WebService(targetNamespace = "urn:com:onstar:global:common:wsdl:ProcessLocationService:1")
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
public interface ProcessLocationServiceServicePortType {/** * * @param processLocationService * @param security * @param serviceControl * @return * returns com.onstar.global.common.schema.locationservice._1.AcknowledgeLocationServiceType * @throws ProcessLocationServiceFault */ @WebMethod(operationName = "ProcessLocationService", action = "ProcessLocationService") @WebResult(name = "AcknowledgeLocationService" , targetNamespace = "urn:com:onstar:global:common:schema:LocationService:1" , partName = "AcknowledgeLocationService") public AcknowledgeLocationServiceType processLocationService( @WebParam(name = "ProcessLocationService" , targetNamespace = "urn:com:onstar:global:common:schema:LocationService:1" , partName = "ProcessLocationService") ProcessLocationServiceType processLocationService, @WebParam(name = "Security" , targetNamespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
// , targetNamespace = "urn:org:oasis:open:docs:wss:_2004:_01:oasis_200401_wss_wssecurity_secext_1_0"
, header = true
, partName = "Security")
SecurityHeaderType security,@WebParam(name = "ServiceControl" , targetNamespace = "urn:com:onstar:global:common:schema:ServiceControl:2" , header = true , mode = WebParam.Mode.INOUT , partName = "ServiceControl") Holder<ServiceControlType> serviceControl) throws ProcessLocationServiceFault ;
}
@WebService(name = "ProcessLocationServiceServicePortType"
, serviceName = "ProcessLocationServiceRS_Service"
, targetNamespace = "urn:com:onstar:global:common:wsdl:ProcessLocationService:1"
, endpointInterface = "com.onstar.global.common.wsdl.processlocationservice._1.ProcessLocationServiceServicePortType")
@BindingType(value = SOAPBinding.SOAP12HTTP_BINDING)
@Service(value = "processLocationServiceServicePortType")
public class ProcessGeoFencingServicePortTypeImpl implements ProcessLocationServiceServicePortType {public static final Logger logger = LoggerFactory .getLogger(ProcessGeoFencingServicePortTypeImpl.class); @Autowired private ProcessGeoFencingProcessor processGeoFencingProcessor; @Override public AcknowledgeLocationServiceType processLocationService(ProcessLocationServiceType processLocationService, SecurityHeaderType security, Holder<ServiceControlType> serviceControl) throws ProcessLocationServiceFault { logger.info("get request......"); checkSecurityHead(security); logger.info("Start to check process geo fencing request"); AcknowledgeLocationServiceType acknowledgeLocationServiceType = new AcknowledgeLocationServiceType(); AcknowledgeLocationServiceDataAreaType acknowledgeLocationServiceDataAreaType = new AcknowledgeLocationServiceDataAreaType(); AcknowledgeType acknowledgeType = new AcknowledgeType(); List<ResponseActionCriteriaType> responseActionCriteriaTypeList = acknowledgeType.getResponseCriteria(); ResponseActionCriteriaType responseActionCriteriaType = new ResponseActionCriteriaType(); ChangeStatusType changeStatusType = checkProcessReq(processLocationService); if (!"0000".equals(changeStatusType.getCode().getValue())) { responseActionCriteriaType.setChangeStatus(changeStatusType); responseActionCriteriaTypeList.add(responseActionCriteriaType); acknowledgeType.getResponseCriteria().addAll(responseActionCriteriaTypeList); acknowledgeLocationServiceDataAreaType.setAcknowledge(acknowledgeType); acknowledgeLocationServiceType.setDataArea(acknowledgeLocationServiceDataAreaType); return acknowledgeLocationServiceType; } logger.info("Start to process geo fencing request"); return processGeoFencingProcessor.processLocationService(processLocationService, security, serviceControl); }