com.ibm.wsdl.extensions.soap.SOAPAddressSerializer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of libre-wsdl4j Show documentation
Show all versions of libre-wsdl4j Show documentation
Open and Free WSDL library: Web Services Description Language. Libre-wsdl4j is a fork of WSDL4J 1.6.3. WSL4j is a Java stub generator for WSDL. Many software projects still depends on WSL4j, so the idea is that libre-wsdl4j should be an actively maintained version of this software on GitHub. "WSDL, that's an anchronym i haven't heard in almost ten years." Still big in the enterprise world" - comments on the Internet.
The newest version!
/*
* (c) Copyright IBM Corp 2001, 2005
*/
package com.ibm.wsdl.extensions.soap;
import java.io.*;
import org.w3c.dom.*;
import javax.wsdl.*;
import javax.wsdl.extensions.*;
import javax.wsdl.extensions.soap.*;
import javax.xml.namespace.*;
import com.ibm.wsdl.*;
import com.ibm.wsdl.util.xml.*;
/**
* @author Matthew J. Duftler ([email protected])
*/
public class SOAPAddressSerializer implements ExtensionSerializer,
ExtensionDeserializer,
Serializable
{
public static final long serialVersionUID = 1;
public void marshall(Class parentType,
QName elementType,
ExtensibilityElement extension,
PrintWriter pw,
Definition def,
ExtensionRegistry extReg)
throws WSDLException
{
SOAPAddress soapAddress = (SOAPAddress)extension;
if (soapAddress != null)
{
String tagName =
DOMUtils.getQualifiedValue(SOAPConstants.NS_URI_SOAP,
"address",
def);
pw.print(" <" + tagName);
DOMUtils.printAttribute(Constants.ATTR_LOCATION,
soapAddress.getLocationURI(),
pw);
Boolean required = soapAddress.getRequired();
if (required != null)
{
DOMUtils.printQualifiedAttribute(Constants.Q_ATTR_REQUIRED,
required.toString(),
def,
pw);
}
pw.println("/>");
}
}
public ExtensibilityElement unmarshall(Class parentType,
QName elementType,
Element el,
Definition def,
ExtensionRegistry extReg)
throws WSDLException
{
SOAPAddress soapAddress = (SOAPAddress)extReg.createExtension(parentType,
elementType);
String locationURI = DOMUtils.getAttribute(el, Constants.ATTR_LOCATION);
String requiredStr = DOMUtils.getAttributeNS(el,
Constants.NS_URI_WSDL,
Constants.ATTR_REQUIRED);
if (locationURI != null)
{
soapAddress.setLocationURI(locationURI);
}
if (requiredStr != null)
{
soapAddress.setRequired(Boolean.valueOf(requiredStr));
}
return soapAddress;
}
}