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);
}