Java源码示例:com.sun.xml.internal.stream.buffer.stax.StreamWriterBufferCreator
示例1
private static XMLStreamBuffer createBufferFromAddress(String address, AddressingVersion version) {
try {
MutableXMLStreamBuffer xsb = new MutableXMLStreamBuffer();
StreamWriterBufferCreator w = new StreamWriterBufferCreator(xsb);
w.writeStartDocument();
w.writeStartElement(version.getPrefix(),
"EndpointReference", version.nsUri);
w.writeNamespace(version.getPrefix(), version.nsUri);
w.writeStartElement(version.getPrefix(),version.eprType.address, version.nsUri);
w.writeCharacters(address);
w.writeEndElement();
w.writeEndElement();
w.writeEndDocument();
w.close();
return xsb;
} catch (XMLStreamException e) {
// can never happen because we are writing to XSB
throw new AssertionError(e);
}
}
示例2
/**
* @param writer the writer should be at the start of element.
* @param service Namespace URI of servcie is used as targetNamespace of wsdl if wsdlTargetNamespace is not null
* @param wsdlAddress wsdl location
* @param wsdlTargetNamespace targetnamespace of wsdl to be put in wsdliLocation
*
*/
private static void writeWsdliLocation(StreamWriterBufferCreator writer, QName service,String wsdlAddress,String wsdlTargetNamespace) throws XMLStreamException {
String wsdliLocation = "";
if(wsdlTargetNamespace != null) {
wsdliLocation = wsdlTargetNamespace + " ";
} else if (service != null) {
wsdliLocation = service.getNamespaceURI() + " ";
} else {
throw new WebServiceException("WSDL target Namespace cannot be resolved");
}
wsdliLocation += wsdlAddress;
writer.writeNamespace(W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_PREFIX,
W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_NAMESPACE);
writer.writeAttribute(W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_PREFIX,
W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_NAMESPACE,
W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_LOCALNAME,
wsdliLocation);
}
示例3
private static XMLStreamBuffer createBufferFromAddress(String address, AddressingVersion version) {
try {
MutableXMLStreamBuffer xsb = new MutableXMLStreamBuffer();
StreamWriterBufferCreator w = new StreamWriterBufferCreator(xsb);
w.writeStartDocument();
w.writeStartElement(version.getPrefix(),
"EndpointReference", version.nsUri);
w.writeNamespace(version.getPrefix(), version.nsUri);
w.writeStartElement(version.getPrefix(),version.eprType.address, version.nsUri);
w.writeCharacters(address);
w.writeEndElement();
w.writeEndElement();
w.writeEndDocument();
w.close();
return xsb;
} catch (XMLStreamException e) {
// can never happen because we are writing to XSB
throw new AssertionError(e);
}
}
示例4
/**
* @param writer the writer should be at the start of element.
* @param service Namespace URI of servcie is used as targetNamespace of wsdl if wsdlTargetNamespace is not null
* @param wsdlAddress wsdl location
* @param wsdlTargetNamespace targetnamespace of wsdl to be put in wsdliLocation
*
*/
private static void writeWsdliLocation(StreamWriterBufferCreator writer, QName service,String wsdlAddress,String wsdlTargetNamespace) throws XMLStreamException {
String wsdliLocation = "";
if(wsdlTargetNamespace != null) {
wsdliLocation = wsdlTargetNamespace + " ";
} else if (service != null) {
wsdliLocation = service.getNamespaceURI() + " ";
} else {
throw new WebServiceException("WSDL target Namespace cannot be resolved");
}
wsdliLocation += wsdlAddress;
writer.writeNamespace(W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_PREFIX,
W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_NAMESPACE);
writer.writeAttribute(W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_PREFIX,
W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_NAMESPACE,
W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_LOCALNAME,
wsdliLocation);
}
示例5
private static XMLStreamBuffer createBufferFromAddress(String address, AddressingVersion version) {
try {
MutableXMLStreamBuffer xsb = new MutableXMLStreamBuffer();
StreamWriterBufferCreator w = new StreamWriterBufferCreator(xsb);
w.writeStartDocument();
w.writeStartElement(version.getPrefix(),
"EndpointReference", version.nsUri);
w.writeNamespace(version.getPrefix(), version.nsUri);
w.writeStartElement(version.getPrefix(),version.eprType.address, version.nsUri);
w.writeCharacters(address);
w.writeEndElement();
w.writeEndElement();
w.writeEndDocument();
w.close();
return xsb;
} catch (XMLStreamException e) {
// can never happen because we are writing to XSB
throw new AssertionError(e);
}
}
示例6
/**
* @param writer the writer should be at the start of element.
* @param service Namespace URI of servcie is used as targetNamespace of wsdl if wsdlTargetNamespace is not null
* @param wsdlAddress wsdl location
* @param wsdlTargetNamespace targetnamespace of wsdl to be put in wsdliLocation
*
*/
private static void writeWsdliLocation(StreamWriterBufferCreator writer, QName service,String wsdlAddress,String wsdlTargetNamespace) throws XMLStreamException {
String wsdliLocation = "";
if(wsdlTargetNamespace != null) {
wsdliLocation = wsdlTargetNamespace + " ";
} else if (service != null) {
wsdliLocation = service.getNamespaceURI() + " ";
} else {
throw new WebServiceException("WSDL target Namespace cannot be resolved");
}
wsdliLocation += wsdlAddress;
writer.writeNamespace(W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_PREFIX,
W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_NAMESPACE);
writer.writeAttribute(W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_PREFIX,
W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_NAMESPACE,
W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_LOCALNAME,
wsdliLocation);
}
示例7
private static XMLStreamBuffer createBufferFromAddress(String address, AddressingVersion version) {
try {
MutableXMLStreamBuffer xsb = new MutableXMLStreamBuffer();
StreamWriterBufferCreator w = new StreamWriterBufferCreator(xsb);
w.writeStartDocument();
w.writeStartElement(version.getPrefix(),
"EndpointReference", version.nsUri);
w.writeNamespace(version.getPrefix(), version.nsUri);
w.writeStartElement(version.getPrefix(),version.eprType.address, version.nsUri);
w.writeCharacters(address);
w.writeEndElement();
w.writeEndElement();
w.writeEndDocument();
w.close();
return xsb;
} catch (XMLStreamException e) {
// can never happen because we are writing to XSB
throw new AssertionError(e);
}
}
示例8
/**
* @param writer the writer should be at the start of element.
* @param service Namespace URI of servcie is used as targetNamespace of wsdl if wsdlTargetNamespace is not null
* @param wsdlAddress wsdl location
* @param wsdlTargetNamespace targetnamespace of wsdl to be put in wsdliLocation
*
*/
private static void writeWsdliLocation(StreamWriterBufferCreator writer, QName service,String wsdlAddress,String wsdlTargetNamespace) throws XMLStreamException {
String wsdliLocation = "";
if(wsdlTargetNamespace != null) {
wsdliLocation = wsdlTargetNamespace + " ";
} else if (service != null) {
wsdliLocation = service.getNamespaceURI() + " ";
} else {
throw new WebServiceException("WSDL target Namespace cannot be resolved");
}
wsdliLocation += wsdlAddress;
writer.writeNamespace(W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_PREFIX,
W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_NAMESPACE);
writer.writeAttribute(W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_PREFIX,
W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_NAMESPACE,
W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_LOCALNAME,
wsdliLocation);
}
示例9
private static XMLStreamBuffer createBufferFromAddress(String address, AddressingVersion version) {
try {
MutableXMLStreamBuffer xsb = new MutableXMLStreamBuffer();
StreamWriterBufferCreator w = new StreamWriterBufferCreator(xsb);
w.writeStartDocument();
w.writeStartElement(version.getPrefix(),
"EndpointReference", version.nsUri);
w.writeNamespace(version.getPrefix(), version.nsUri);
w.writeStartElement(version.getPrefix(),version.eprType.address, version.nsUri);
w.writeCharacters(address);
w.writeEndElement();
w.writeEndElement();
w.writeEndDocument();
w.close();
return xsb;
} catch (XMLStreamException e) {
// can never happen because we are writing to XSB
throw new AssertionError(e);
}
}
示例10
/**
* @param writer the writer should be at the start of element.
* @param service Namespace URI of servcie is used as targetNamespace of wsdl if wsdlTargetNamespace is not null
* @param wsdlAddress wsdl location
* @param wsdlTargetNamespace targetnamespace of wsdl to be put in wsdliLocation
*
*/
private static void writeWsdliLocation(StreamWriterBufferCreator writer, QName service,String wsdlAddress,String wsdlTargetNamespace) throws XMLStreamException {
String wsdliLocation = "";
if(wsdlTargetNamespace != null) {
wsdliLocation = wsdlTargetNamespace + " ";
} else if (service != null) {
wsdliLocation = service.getNamespaceURI() + " ";
} else {
throw new WebServiceException("WSDL target Namespace cannot be resolved");
}
wsdliLocation += wsdlAddress;
writer.writeNamespace(W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_PREFIX,
W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_NAMESPACE);
writer.writeAttribute(W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_PREFIX,
W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_NAMESPACE,
W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_LOCALNAME,
wsdliLocation);
}
示例11
private static XMLStreamBuffer createBufferFromAddress(String address, AddressingVersion version) {
try {
MutableXMLStreamBuffer xsb = new MutableXMLStreamBuffer();
StreamWriterBufferCreator w = new StreamWriterBufferCreator(xsb);
w.writeStartDocument();
w.writeStartElement(version.getPrefix(),
"EndpointReference", version.nsUri);
w.writeNamespace(version.getPrefix(), version.nsUri);
w.writeStartElement(version.getPrefix(),version.eprType.address, version.nsUri);
w.writeCharacters(address);
w.writeEndElement();
w.writeEndElement();
w.writeEndDocument();
w.close();
return xsb;
} catch (XMLStreamException e) {
// can never happen because we are writing to XSB
throw new AssertionError(e);
}
}
示例12
/**
* @param writer the writer should be at the start of element.
* @param service Namespace URI of servcie is used as targetNamespace of wsdl if wsdlTargetNamespace is not null
* @param wsdlAddress wsdl location
* @param wsdlTargetNamespace targetnamespace of wsdl to be put in wsdliLocation
*
*/
private static void writeWsdliLocation(StreamWriterBufferCreator writer, QName service,String wsdlAddress,String wsdlTargetNamespace) throws XMLStreamException {
String wsdliLocation = "";
if(wsdlTargetNamespace != null) {
wsdliLocation = wsdlTargetNamespace + " ";
} else if (service != null) {
wsdliLocation = service.getNamespaceURI() + " ";
} else {
throw new WebServiceException("WSDL target Namespace cannot be resolved");
}
wsdliLocation += wsdlAddress;
writer.writeNamespace(W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_PREFIX,
W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_NAMESPACE);
writer.writeAttribute(W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_PREFIX,
W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_NAMESPACE,
W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_LOCALNAME,
wsdliLocation);
}
示例13
private static XMLStreamBuffer createBufferFromAddress(String address, AddressingVersion version) {
try {
MutableXMLStreamBuffer xsb = new MutableXMLStreamBuffer();
StreamWriterBufferCreator w = new StreamWriterBufferCreator(xsb);
w.writeStartDocument();
w.writeStartElement(version.getPrefix(),
"EndpointReference", version.nsUri);
w.writeNamespace(version.getPrefix(), version.nsUri);
w.writeStartElement(version.getPrefix(),version.eprType.address, version.nsUri);
w.writeCharacters(address);
w.writeEndElement();
w.writeEndElement();
w.writeEndDocument();
w.close();
return xsb;
} catch (XMLStreamException e) {
// can never happen because we are writing to XSB
throw new AssertionError(e);
}
}
示例14
/**
* @param writer the writer should be at the start of element.
* @param service Namespace URI of servcie is used as targetNamespace of wsdl if wsdlTargetNamespace is not null
* @param wsdlAddress wsdl location
* @param wsdlTargetNamespace targetnamespace of wsdl to be put in wsdliLocation
*
*/
private static void writeWsdliLocation(StreamWriterBufferCreator writer, QName service,String wsdlAddress,String wsdlTargetNamespace) throws XMLStreamException {
String wsdliLocation = "";
if(wsdlTargetNamespace != null) {
wsdliLocation = wsdlTargetNamespace + " ";
} else if (service != null) {
wsdliLocation = service.getNamespaceURI() + " ";
} else {
throw new WebServiceException("WSDL target Namespace cannot be resolved");
}
wsdliLocation += wsdlAddress;
writer.writeNamespace(W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_PREFIX,
W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_NAMESPACE);
writer.writeAttribute(W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_PREFIX,
W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_NAMESPACE,
W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_LOCALNAME,
wsdliLocation);
}
示例15
private static XMLStreamBuffer createBufferFromAddress(String address, AddressingVersion version) {
try {
MutableXMLStreamBuffer xsb = new MutableXMLStreamBuffer();
StreamWriterBufferCreator w = new StreamWriterBufferCreator(xsb);
w.writeStartDocument();
w.writeStartElement(version.getPrefix(),
"EndpointReference", version.nsUri);
w.writeNamespace(version.getPrefix(), version.nsUri);
w.writeStartElement(version.getPrefix(),version.eprType.address, version.nsUri);
w.writeCharacters(address);
w.writeEndElement();
w.writeEndElement();
w.writeEndDocument();
w.close();
return xsb;
} catch (XMLStreamException e) {
// can never happen because we are writing to XSB
throw new AssertionError(e);
}
}
示例16
/**
* @param writer the writer should be at the start of element.
* @param service Namespace URI of servcie is used as targetNamespace of wsdl if wsdlTargetNamespace is not null
* @param wsdlAddress wsdl location
* @param wsdlTargetNamespace targetnamespace of wsdl to be put in wsdliLocation
*
*/
private static void writeWsdliLocation(StreamWriterBufferCreator writer, QName service,String wsdlAddress,String wsdlTargetNamespace) throws XMLStreamException {
String wsdliLocation = "";
if(wsdlTargetNamespace != null) {
wsdliLocation = wsdlTargetNamespace + " ";
} else if (service != null) {
wsdliLocation = service.getNamespaceURI() + " ";
} else {
throw new WebServiceException("WSDL target Namespace cannot be resolved");
}
wsdliLocation += wsdlAddress;
writer.writeNamespace(W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_PREFIX,
W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_NAMESPACE);
writer.writeAttribute(W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_PREFIX,
W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_NAMESPACE,
W3CAddressingMetadataConstants.WSAM_WSDLI_ATTRIBUTE_LOCALNAME,
wsdliLocation);
}
示例17
private static void writeWsdl(StreamWriterBufferCreator writer, QName service, String wsdlAddress) throws XMLStreamException {
// Inline-wsdl
writer.writeStartElement(WSDLConstants.PREFIX_NS_WSDL,
WSDLConstants.QNAME_DEFINITIONS.getLocalPart(),
WSDLConstants.NS_WSDL);
writer.writeNamespace(WSDLConstants.PREFIX_NS_WSDL, WSDLConstants.NS_WSDL);
writer.writeStartElement(WSDLConstants.PREFIX_NS_WSDL,
WSDLConstants.QNAME_IMPORT.getLocalPart(),
WSDLConstants.NS_WSDL);
writer.writeAttribute("namespace", service.getNamespaceURI());
writer.writeAttribute("location", wsdlAddress);
writer.writeEndElement();
writer.writeEndElement();
}
示例18
private static void writeWsdl(StreamWriterBufferCreator writer, QName service, String wsdlAddress) throws XMLStreamException {
// Inline-wsdl
writer.writeStartElement(WSDLConstants.PREFIX_NS_WSDL,
WSDLConstants.QNAME_DEFINITIONS.getLocalPart(),
WSDLConstants.NS_WSDL);
writer.writeNamespace(WSDLConstants.PREFIX_NS_WSDL, WSDLConstants.NS_WSDL);
writer.writeStartElement(WSDLConstants.PREFIX_NS_WSDL,
WSDLConstants.QNAME_IMPORT.getLocalPart(),
WSDLConstants.NS_WSDL);
writer.writeAttribute("namespace", service.getNamespaceURI());
writer.writeAttribute("location", wsdlAddress);
writer.writeEndElement();
writer.writeEndElement();
}
示例19
private static void writeWsdl(StreamWriterBufferCreator writer, QName service, String wsdlAddress) throws XMLStreamException {
// Inline-wsdl
writer.writeStartElement(WSDLConstants.PREFIX_NS_WSDL,
WSDLConstants.QNAME_DEFINITIONS.getLocalPart(),
WSDLConstants.NS_WSDL);
writer.writeNamespace(WSDLConstants.PREFIX_NS_WSDL, WSDLConstants.NS_WSDL);
writer.writeStartElement(WSDLConstants.PREFIX_NS_WSDL,
WSDLConstants.QNAME_IMPORT.getLocalPart(),
WSDLConstants.NS_WSDL);
writer.writeAttribute("namespace", service.getNamespaceURI());
writer.writeAttribute("location", wsdlAddress);
writer.writeEndElement();
writer.writeEndElement();
}
示例20
private static void writeWsdl(StreamWriterBufferCreator writer, QName service, String wsdlAddress) throws XMLStreamException {
// Inline-wsdl
writer.writeStartElement(WSDLConstants.PREFIX_NS_WSDL,
WSDLConstants.QNAME_DEFINITIONS.getLocalPart(),
WSDLConstants.NS_WSDL);
writer.writeNamespace(WSDLConstants.PREFIX_NS_WSDL, WSDLConstants.NS_WSDL);
writer.writeStartElement(WSDLConstants.PREFIX_NS_WSDL,
WSDLConstants.QNAME_IMPORT.getLocalPart(),
WSDLConstants.NS_WSDL);
writer.writeAttribute("namespace", service.getNamespaceURI());
writer.writeAttribute("location", wsdlAddress);
writer.writeEndElement();
writer.writeEndElement();
}
示例21
private static void writeWsdl(StreamWriterBufferCreator writer, QName service, String wsdlAddress) throws XMLStreamException {
// Inline-wsdl
writer.writeStartElement(WSDLConstants.PREFIX_NS_WSDL,
WSDLConstants.QNAME_DEFINITIONS.getLocalPart(),
WSDLConstants.NS_WSDL);
writer.writeNamespace(WSDLConstants.PREFIX_NS_WSDL, WSDLConstants.NS_WSDL);
writer.writeStartElement(WSDLConstants.PREFIX_NS_WSDL,
WSDLConstants.QNAME_IMPORT.getLocalPart(),
WSDLConstants.NS_WSDL);
writer.writeAttribute("namespace", service.getNamespaceURI());
writer.writeAttribute("location", wsdlAddress);
writer.writeEndElement();
writer.writeEndElement();
}
示例22
private static void writeWsdl(StreamWriterBufferCreator writer, QName service, String wsdlAddress) throws XMLStreamException {
// Inline-wsdl
writer.writeStartElement(WSDLConstants.PREFIX_NS_WSDL,
WSDLConstants.QNAME_DEFINITIONS.getLocalPart(),
WSDLConstants.NS_WSDL);
writer.writeNamespace(WSDLConstants.PREFIX_NS_WSDL, WSDLConstants.NS_WSDL);
writer.writeStartElement(WSDLConstants.PREFIX_NS_WSDL,
WSDLConstants.QNAME_IMPORT.getLocalPart(),
WSDLConstants.NS_WSDL);
writer.writeAttribute("namespace", service.getNamespaceURI());
writer.writeAttribute("location", wsdlAddress);
writer.writeEndElement();
writer.writeEndElement();
}
示例23
private static void writeWsdl(StreamWriterBufferCreator writer, QName service, String wsdlAddress) throws XMLStreamException {
// Inline-wsdl
writer.writeStartElement(WSDLConstants.PREFIX_NS_WSDL,
WSDLConstants.QNAME_DEFINITIONS.getLocalPart(),
WSDLConstants.NS_WSDL);
writer.writeNamespace(WSDLConstants.PREFIX_NS_WSDL, WSDLConstants.NS_WSDL);
writer.writeStartElement(WSDLConstants.PREFIX_NS_WSDL,
WSDLConstants.QNAME_IMPORT.getLocalPart(),
WSDLConstants.NS_WSDL);
writer.writeAttribute("namespace", service.getNamespaceURI());
writer.writeAttribute("location", wsdlAddress);
writer.writeEndElement();
writer.writeEndElement();
}
示例24
private static void writeWsdl(StreamWriterBufferCreator writer, QName service, String wsdlAddress) throws XMLStreamException {
// Inline-wsdl
writer.writeStartElement(WSDLConstants.PREFIX_NS_WSDL,
WSDLConstants.QNAME_DEFINITIONS.getLocalPart(),
WSDLConstants.NS_WSDL);
writer.writeNamespace(WSDLConstants.PREFIX_NS_WSDL, WSDLConstants.NS_WSDL);
writer.writeStartElement(WSDLConstants.PREFIX_NS_WSDL,
WSDLConstants.QNAME_IMPORT.getLocalPart(),
WSDLConstants.NS_WSDL);
writer.writeAttribute("namespace", service.getNamespaceURI());
writer.writeAttribute("location", wsdlAddress);
writer.writeEndElement();
writer.writeEndElement();
}
示例25
private static void writePartialEPRInfoset(StreamWriterBufferCreator writer, AddressingVersion version, String address, List<Element> referenceParameters, QName service, QName port, QName portType,
List<Element> metadata, String wsdlAddress, String wsdlTargetNamespace, @Nullable Map<QName, String> attributes) throws XMLStreamException {
//add extensibile attributes on the EPR element
if (attributes != null) {
for (Map.Entry<QName, String> entry : attributes.entrySet()) {
QName qname = entry.getKey();
writer.writeAttribute(qname.getPrefix(), qname.getNamespaceURI(), qname.getLocalPart(), entry.getValue());
}
}
writer.writeStartElement(version.getPrefix(), version.eprType.address, version.nsUri);
writer.writeCharacters(address);
writer.writeEndElement();
//When the size of ReferenceParametes is zero, the ReferenceParametes element will not be written.
if(referenceParameters != null && referenceParameters.size() > 0) {
writer.writeStartElement(version.getPrefix(), version.eprType.referenceParameters, version.nsUri);
for (Element e : referenceParameters) {
DOMUtil.serializeNode(e, writer);
}
writer.writeEndElement();
}
switch (version) {
case W3C:
writeW3CMetaData(writer, service, port, portType, metadata, wsdlAddress, wsdlTargetNamespace);
break;
case MEMBER:
writeMSMetaData(writer, service, port, portType, metadata);
if (wsdlAddress != null) {
//Inline the wsdl as extensibility element
//Write mex:Metadata wrapper
writer.writeStartElement(MemberSubmissionAddressingConstants.MEX_METADATA.getPrefix(),
MemberSubmissionAddressingConstants.MEX_METADATA.getLocalPart(),
MemberSubmissionAddressingConstants.MEX_METADATA.getNamespaceURI());
writer.writeStartElement(MemberSubmissionAddressingConstants.MEX_METADATA_SECTION.getPrefix(),
MemberSubmissionAddressingConstants.MEX_METADATA_SECTION.getLocalPart(),
MemberSubmissionAddressingConstants.MEX_METADATA_SECTION.getNamespaceURI());
writer.writeAttribute(MemberSubmissionAddressingConstants.MEX_METADATA_DIALECT_ATTRIBUTE,
MemberSubmissionAddressingConstants.MEX_METADATA_DIALECT_VALUE);
writeWsdl(writer, service, wsdlAddress);
writer.writeEndElement();
writer.writeEndElement();
}
break;
}
}
示例26
private static void writeW3CMetaData(StreamWriterBufferCreator writer,
QName service,
QName port,
QName portType, List<Element> metadata,
String wsdlAddress, String wsdlTargetNamespace) throws XMLStreamException {
//.NET treate empty metaData element as bad request.
if (isEmty(service) && isEmty(port) && isEmty(portType) && metadata == null/* && wsdlAddress == null*/) {
return;
}
writer.writeStartElement(AddressingVersion.W3C.getPrefix(),
AddressingVersion.W3C.eprType.wsdlMetadata.getLocalPart(), AddressingVersion.W3C.nsUri);
writer.writeNamespace(AddressingVersion.W3C.getWsdlPrefix(),
AddressingVersion.W3C.wsdlNsUri);
//write wsdliLication as defined in WS-Addressing 1.0 Metadata spec
if(wsdlAddress != null) {
writeWsdliLocation(writer, service, wsdlAddress, wsdlTargetNamespace);
}
//Write Interface info
if (portType != null) {
writer.writeStartElement(W3CAddressingMetadataConstants.WSAM_PREFIX_NAME,
AddressingVersion.W3C.eprType.portTypeName,
W3CAddressingMetadataConstants.WSAM_NAMESPACE_NAME);
writer.writeNamespace(W3CAddressingMetadataConstants.WSAM_PREFIX_NAME,
W3CAddressingMetadataConstants.WSAM_NAMESPACE_NAME);
String portTypePrefix = portType.getPrefix();
if (portTypePrefix == null || portTypePrefix.equals("")) {
//TODO check prefix again
portTypePrefix = "wsns";
}
writer.writeNamespace(portTypePrefix, portType.getNamespaceURI());
writer.writeCharacters(portTypePrefix + ":" + portType.getLocalPart());
writer.writeEndElement();
}
if (service != null) {
//Write service and Port info
if (!(service.getNamespaceURI().equals("") || service.getLocalPart().equals(""))) {
writer.writeStartElement(W3CAddressingMetadataConstants.WSAM_PREFIX_NAME,
AddressingVersion.W3C.eprType.serviceName,
W3CAddressingMetadataConstants.WSAM_NAMESPACE_NAME);
writer.writeNamespace(W3CAddressingMetadataConstants.WSAM_PREFIX_NAME,
W3CAddressingMetadataConstants.WSAM_NAMESPACE_NAME);
String servicePrefix = service.getPrefix();
if (servicePrefix == null || servicePrefix.equals("")) {
//TODO check prefix again
servicePrefix = "wsns";
}
writer.writeNamespace(servicePrefix, service.getNamespaceURI());
if (port != null) {
writer.writeAttribute(AddressingVersion.W3C.eprType.portName, port.getLocalPart());
}
writer.writeCharacters(servicePrefix + ":" + service.getLocalPart());
writer.writeEndElement();
}
}
/*
//Inline the wsdl
if (wsdlAddress != null) {
writeWsdl(writer, service, wsdlAddress);
}
*/
//Add the extra metadata Elements
if (metadata != null) {
for (Element e : metadata) {
DOMUtil.serializeNode(e, writer);
}
}
writer.writeEndElement();
}
示例27
private static void writeMSMetaData(StreamWriterBufferCreator writer,
QName service,
QName port,
QName portType, List<Element> metadata) throws XMLStreamException {
// TODO: write ReferenceProperties
//TODO: write ReferenceParameters
if (portType != null) {
//Write Interface info
writer.writeStartElement(AddressingVersion.MEMBER.getPrefix(),
AddressingVersion.MEMBER.eprType.portTypeName,
AddressingVersion.MEMBER.nsUri);
String portTypePrefix = portType.getPrefix();
if (portTypePrefix == null || portTypePrefix.equals("")) {
//TODO check prefix again
portTypePrefix = "wsns";
}
writer.writeNamespace(portTypePrefix, portType.getNamespaceURI());
writer.writeCharacters(portTypePrefix + ":" + portType.getLocalPart());
writer.writeEndElement();
}
//Write service and Port info
if (service != null) {
if (!(service.getNamespaceURI().equals("") || service.getLocalPart().equals(""))) {
writer.writeStartElement(AddressingVersion.MEMBER.getPrefix(),
AddressingVersion.MEMBER.eprType.serviceName,
AddressingVersion.MEMBER.nsUri);
String servicePrefix = service.getPrefix();
if (servicePrefix == null || servicePrefix.equals("")) {
//TODO check prefix again
servicePrefix = "wsns";
}
writer.writeNamespace(servicePrefix, service.getNamespaceURI());
if (port != null) {
writer.writeAttribute(AddressingVersion.MEMBER.eprType.portName,
port.getLocalPart());
}
writer.writeCharacters(servicePrefix + ":" + service.getLocalPart());
writer.writeEndElement();
}
}
}
示例28
private static void writePartialEPRInfoset(StreamWriterBufferCreator writer, AddressingVersion version, String address, List<Element> referenceParameters, QName service, QName port, QName portType,
List<Element> metadata, String wsdlAddress, String wsdlTargetNamespace, @Nullable Map<QName, String> attributes) throws XMLStreamException {
//add extensibile attributes on the EPR element
if (attributes != null) {
for (Map.Entry<QName, String> entry : attributes.entrySet()) {
QName qname = entry.getKey();
writer.writeAttribute(qname.getPrefix(), qname.getNamespaceURI(), qname.getLocalPart(), entry.getValue());
}
}
writer.writeStartElement(version.getPrefix(), version.eprType.address, version.nsUri);
writer.writeCharacters(address);
writer.writeEndElement();
//When the size of ReferenceParametes is zero, the ReferenceParametes element will not be written.
if(referenceParameters != null && referenceParameters.size() > 0) {
writer.writeStartElement(version.getPrefix(), version.eprType.referenceParameters, version.nsUri);
for (Element e : referenceParameters) {
DOMUtil.serializeNode(e, writer);
}
writer.writeEndElement();
}
switch (version) {
case W3C:
writeW3CMetaData(writer, service, port, portType, metadata, wsdlAddress, wsdlTargetNamespace);
break;
case MEMBER:
writeMSMetaData(writer, service, port, portType, metadata);
if (wsdlAddress != null) {
//Inline the wsdl as extensibility element
//Write mex:Metadata wrapper
writer.writeStartElement(MemberSubmissionAddressingConstants.MEX_METADATA.getPrefix(),
MemberSubmissionAddressingConstants.MEX_METADATA.getLocalPart(),
MemberSubmissionAddressingConstants.MEX_METADATA.getNamespaceURI());
writer.writeStartElement(MemberSubmissionAddressingConstants.MEX_METADATA_SECTION.getPrefix(),
MemberSubmissionAddressingConstants.MEX_METADATA_SECTION.getLocalPart(),
MemberSubmissionAddressingConstants.MEX_METADATA_SECTION.getNamespaceURI());
writer.writeAttribute(MemberSubmissionAddressingConstants.MEX_METADATA_DIALECT_ATTRIBUTE,
MemberSubmissionAddressingConstants.MEX_METADATA_DIALECT_VALUE);
writeWsdl(writer, service, wsdlAddress);
writer.writeEndElement();
writer.writeEndElement();
}
break;
}
}
示例29
private static void writeW3CMetaData(StreamWriterBufferCreator writer,
QName service,
QName port,
QName portType, List<Element> metadata,
String wsdlAddress, String wsdlTargetNamespace) throws XMLStreamException {
//.NET treate empty metaData element as bad request.
if (isEmty(service) && isEmty(port) && isEmty(portType) && metadata == null/* && wsdlAddress == null*/) {
return;
}
writer.writeStartElement(AddressingVersion.W3C.getPrefix(),
AddressingVersion.W3C.eprType.wsdlMetadata.getLocalPart(), AddressingVersion.W3C.nsUri);
writer.writeNamespace(AddressingVersion.W3C.getWsdlPrefix(),
AddressingVersion.W3C.wsdlNsUri);
//write wsdliLication as defined in WS-Addressing 1.0 Metadata spec
if(wsdlAddress != null) {
writeWsdliLocation(writer, service, wsdlAddress, wsdlTargetNamespace);
}
//Write Interface info
if (portType != null) {
writer.writeStartElement(W3CAddressingMetadataConstants.WSAM_PREFIX_NAME,
AddressingVersion.W3C.eprType.portTypeName,
W3CAddressingMetadataConstants.WSAM_NAMESPACE_NAME);
writer.writeNamespace(W3CAddressingMetadataConstants.WSAM_PREFIX_NAME,
W3CAddressingMetadataConstants.WSAM_NAMESPACE_NAME);
String portTypePrefix = portType.getPrefix();
if (portTypePrefix == null || portTypePrefix.equals("")) {
//TODO check prefix again
portTypePrefix = "wsns";
}
writer.writeNamespace(portTypePrefix, portType.getNamespaceURI());
writer.writeCharacters(portTypePrefix + ":" + portType.getLocalPart());
writer.writeEndElement();
}
if (service != null) {
//Write service and Port info
if (!(service.getNamespaceURI().equals("") || service.getLocalPart().equals(""))) {
writer.writeStartElement(W3CAddressingMetadataConstants.WSAM_PREFIX_NAME,
AddressingVersion.W3C.eprType.serviceName,
W3CAddressingMetadataConstants.WSAM_NAMESPACE_NAME);
writer.writeNamespace(W3CAddressingMetadataConstants.WSAM_PREFIX_NAME,
W3CAddressingMetadataConstants.WSAM_NAMESPACE_NAME);
String servicePrefix = service.getPrefix();
if (servicePrefix == null || servicePrefix.equals("")) {
//TODO check prefix again
servicePrefix = "wsns";
}
writer.writeNamespace(servicePrefix, service.getNamespaceURI());
if (port != null) {
writer.writeAttribute(AddressingVersion.W3C.eprType.portName, port.getLocalPart());
}
writer.writeCharacters(servicePrefix + ":" + service.getLocalPart());
writer.writeEndElement();
}
}
/*
//Inline the wsdl
if (wsdlAddress != null) {
writeWsdl(writer, service, wsdlAddress);
}
*/
//Add the extra metadata Elements
if (metadata != null) {
for (Element e : metadata) {
DOMUtil.serializeNode(e, writer);
}
}
writer.writeEndElement();
}
示例30
private static void writeMSMetaData(StreamWriterBufferCreator writer,
QName service,
QName port,
QName portType, List<Element> metadata) throws XMLStreamException {
// TODO: write ReferenceProperties
//TODO: write ReferenceParameters
if (portType != null) {
//Write Interface info
writer.writeStartElement(AddressingVersion.MEMBER.getPrefix(),
AddressingVersion.MEMBER.eprType.portTypeName,
AddressingVersion.MEMBER.nsUri);
String portTypePrefix = portType.getPrefix();
if (portTypePrefix == null || portTypePrefix.equals("")) {
//TODO check prefix again
portTypePrefix = "wsns";
}
writer.writeNamespace(portTypePrefix, portType.getNamespaceURI());
writer.writeCharacters(portTypePrefix + ":" + portType.getLocalPart());
writer.writeEndElement();
}
//Write service and Port info
if (service != null) {
if (!(service.getNamespaceURI().equals("") || service.getLocalPart().equals(""))) {
writer.writeStartElement(AddressingVersion.MEMBER.getPrefix(),
AddressingVersion.MEMBER.eprType.serviceName,
AddressingVersion.MEMBER.nsUri);
String servicePrefix = service.getPrefix();
if (servicePrefix == null || servicePrefix.equals("")) {
//TODO check prefix again
servicePrefix = "wsns";
}
writer.writeNamespace(servicePrefix, service.getNamespaceURI());
if (port != null) {
writer.writeAttribute(AddressingVersion.MEMBER.eprType.portName,
port.getLocalPart());
}
writer.writeCharacters(servicePrefix + ":" + service.getLocalPart());
writer.writeEndElement();
}
}
}