6813167: 6u14 JAX-WS audit mutable static bugs

6803688: Integrate latest JAX-WS (2.1.6) in to JDK 6u14

Reviewed-by: darcy, ramap
This commit is contained in:
Abhijit Saha 2009-08-07 11:27:00 -07:00
parent 9a9ea73154
commit 1d2b6d72b2
1399 changed files with 123816 additions and 12509 deletions
jaxws
THIRD_PARTY_READMEjaxws.patchpatch.out
src/share/classes/com/sun
codemodel/internal
istack/internal
tools/internal
jxc
ws

@ -32,7 +32,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
--- end of LICENSE file ---
%% This notice is provided with respect to ASM, which may be included with this software:
Copyright (c) 2000-2005 INRIA, France Telecom
Copyright (c) 2000-2007 INRIA, France Telecom
All rights reserved.
Redistribution and use in source and binary forms, with or without

81929
jaxws/jaxws.patch Normal file

File diff suppressed because one or more lines are too long

1402
jaxws/patch.out Normal file

File diff suppressed because it is too large Load Diff

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.codemodel.internal;
import java.lang.annotation.Annotation;

@ -199,8 +199,7 @@ public final class JAnnotationUse extends JAnnotationValue {
*
*/
public JAnnotationUse param(String name, Class value){
addValue(name, new JAnnotationStringValue(JExpr.lit(value.getName())));
return this;
return param(name,clazz.owner().ref(value));
}
/**

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.codemodel.internal;
import java.lang.annotation.Annotation;

@ -111,6 +111,14 @@ public final class JBlock implements JGenerable, JStatement {
return r;
}
/**
* Returns true if this block is empty and does not contain
* any statement.
*/
public boolean isEmpty() {
return content.isEmpty();
}
/**
* Adds a local variable declaration to this block

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.codemodel.internal;
import java.util.ArrayList;
@ -77,7 +78,8 @@ public class JCommentPart extends ArrayList<Object> {
*/
protected void format( JFormatter f, String indent ) {
if(!f.isPrinting()) {
// quickly pass the types to JFormatter
// quickly pass the types to JFormatter, as that's all we care.
// we don't need to worry about the exact formatting of text.
for( Object o : this )
if(o instanceof JClass)
f.g((JClass)o);
@ -97,12 +99,12 @@ public class JCommentPart extends ArrayList<Object> {
while( (idx=s.indexOf('\n'))!=-1 ) {
String line = s.substring(0,idx);
if(line.length()>0)
f.p(line);
f.p(escape(line));
s = s.substring(idx+1);
f.nl().p(indent);
}
if(s.length()!=0)
f.p(s);
f.p(escape(s));
} else
if(o instanceof JClass) {
// TODO: this doesn't print the parameterized type properly
@ -117,4 +119,16 @@ public class JCommentPart extends ArrayList<Object> {
if(!isEmpty())
f.nl();
}
/**
* Escapes the appearance of the comment terminator.
*/
private String escape(String s) {
while(true) {
int idx = s.indexOf("*/");
if(idx <0) return s;
s = s.substring(0,idx+1)+"<!---->"+s.substring(idx+1);
}
}
}

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.codemodel.internal;
import java.util.Iterator;

@ -198,8 +198,12 @@ public abstract class JExpr {
char c = s.charAt(i);
int j = charEscape.indexOf(c);
if(j>=0) {
sb.append('\\');
sb.append(charMacro.charAt(j));
if((quote=='"' && c=='\'') || (quote=='\'' && c=='"')) {
sb.append(c);
} else {
sb.append('\\');
sb.append(charMacro.charAt(j));
}
} else {
// technically Unicode escape shouldn't be done here,
// for it's a lexical level handling.

@ -231,6 +231,7 @@ public class JJavaName {
"(.*)basis","$1bases",
"(.*)axis","$1axes",
"(.+)is","$1ises",
"(.+)ss","$1sses",
"(.+)us","$1uses",
"(.+)s","$1s",
"(.*)foot","$1feet",

@ -388,10 +388,11 @@ public class JMethod extends JGenerifiableImpl implements JDeclaration, JAnnotat
f.g(a).nl();
}
// declare the generics parameters
f.g(mods);
// declare the generics parameters
super.declare(f);
f.g(mods);
if (!isConstructor())
f.g(type);
f.id(name).p('(').i();

@ -98,32 +98,7 @@ public final class JPackage implements JDeclaration, JGenerable, JClassContainer
JPackage(String name, JCodeModel cw) {
this.owner = cw;
if (name.equals(".")) {
String msg = "JPackage name . is not allowed";
throw new IllegalArgumentException(msg);
}
int dots = 1;
for (int i = 0; i < name.length(); i++) {
char c = name.charAt(i);
if (c == '.') {
dots++;
continue;
}
if (dots > 1) {
String msg = "JPackage name " + name + " missing identifier";
throw new IllegalArgumentException(msg);
} else if (dots == 1 && !Character.isJavaIdentifierStart(c)) {
String msg =
"JPackage name " + name + " contains illegal " + "character for beginning of identifier: " + c;
throw new IllegalArgumentException(msg);
} else if (!Character.isJavaIdentifierPart(c)) {
String msg = "JPackage name " + name + "contains illegal " + "character: " + c;
throw new IllegalArgumentException(msg);
}
dots = 0;
}
if (!name.trim().equals("") && dots != 0) {
String msg = "JPackage name not allowed to end with .";
String msg = "Package name . is not allowed";
throw new IllegalArgumentException(msg);
}

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.codemodel.internal;
import java.util.Iterator;

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.codemodel.internal;
import java.lang.reflect.InvocationHandler;

@ -1,29 +0,0 @@
<!--
Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Sun designates this
particular file as subject to the "Classpath" exception as provided
by Sun in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
CA 95054 USA or visit www.sun.com if you need additional information or
have any questions.
-->
<HTML>
<BODY>
Various resource file formats (classes that implement <code>JResourceFile</code>).
</BODY>
</HTML>

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
/**
* <h1>Library for generating Java source code</h1>.
*

@ -22,11 +22,10 @@
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
/*
* @(#)$Id: EncoderFactory.java,v 1.3 2005/09/10 19:07:33 kohsuke Exp $
*/
package com.sun.codemodel.internal.util;
import java.lang.reflect.Constructor;

@ -22,11 +22,10 @@
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
/*
* @(#)$Id: MS1252Encoder.java,v 1.2 2005/09/10 19:07:33 kohsuke Exp $
*/
package com.sun.codemodel.internal.util;
import java.nio.charset.Charset;

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.codemodel.internal.writer;
import java.io.OutputStream;

@ -0,0 +1,33 @@
/*
* Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.istack.internal;
/**
*
* @author Martin Grebac
*/
public interface Builder<T> {
T build();
}

@ -25,6 +25,7 @@
package com.sun.istack.internal;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.lang.ref.WeakReference;
/**
* Pool of reusable objects that are indistinguishable from each other,
@ -33,6 +34,7 @@ import java.util.concurrent.ConcurrentLinkedQueue;
* @author Kohsuke Kawaguchi
*/
public interface Pool<T> {
/**
* Gets a new object from the pool.
*
@ -46,7 +48,6 @@ public interface Pool<T> {
*/
void recycle(@NotNull T t);
/**
* Default implementation that uses {@link ConcurrentLinkedQueue}
* as the data store.
@ -55,7 +56,10 @@ public interface Pool<T> {
* <p>
* Don't rely on the fact that this class extends from {@link ConcurrentLinkedQueue}.
*/
public abstract class Impl<T> extends ConcurrentLinkedQueue<T> implements Pool<T> {
public abstract class Impl<T> implements Pool<T> {
private volatile WeakReference<ConcurrentLinkedQueue<T>> queue;
/**
* Gets a new object from the pool.
*
@ -66,9 +70,10 @@ public interface Pool<T> {
* always non-null.
*/
public final @NotNull T take() {
T t = super.poll();
if(t==null)
T t = getQueue().poll();
if(t==null) {
return create();
}
return t;
}
@ -76,7 +81,22 @@ public interface Pool<T> {
* Returns an object back to the pool.
*/
public final void recycle(T t) {
super.offer(t);
getQueue().offer(t);
}
private ConcurrentLinkedQueue<T> getQueue() {
WeakReference<ConcurrentLinkedQueue<T>> q = queue;
if (q != null) {
ConcurrentLinkedQueue<T> d = q.get();
if (d != null) {
return d;
}
}
// overwrite the queue
ConcurrentLinkedQueue<T> d = new ConcurrentLinkedQueue<T>();
queue = new WeakReference<ConcurrentLinkedQueue<T>>(d);
return d;
}
/**

@ -54,12 +54,22 @@ public class XMLStreamReaderToContentHandler {
// if true, when the conversion is completed, leave the cursor to the last
// event that was fired (such as end element)
private boolean eagerQuit;
private final boolean eagerQuit;
/**
* If true, not start/endDocument event.
*/
private boolean fragment;
private final boolean fragment;
// array of the even length of the form { prefix0, uri0, prefix1, uri1, ... }
private final String[] inscopeNamespaces;
/**
* @see #XMLStreamReaderToContentHandler(XMLStreamReader, ContentHandler, boolean, boolean, String[])
*/
public XMLStreamReaderToContentHandler(XMLStreamReader staxCore, ContentHandler saxCore, boolean eagerQuit, boolean fragment) {
this(staxCore, saxCore, eagerQuit, fragment, new String[0]);
}
/**
* Construct a new StAX to SAX adapter that will convert a StAX event
@ -69,14 +79,22 @@ public class XMLStreamReaderToContentHandler {
* StAX event source
* @param saxCore
* SAXevent sink
* @param eagerQuit
* @param fragment
* @param inscopeNamespaces
* array of the even length of the form { prefix0, uri0, prefix1, uri1, ... }
*/
public XMLStreamReaderToContentHandler(XMLStreamReader staxCore, ContentHandler saxCore, boolean eagerQuit, boolean fragment) {
public XMLStreamReaderToContentHandler(XMLStreamReader staxCore, ContentHandler saxCore,
boolean eagerQuit, boolean fragment, String[] inscopeNamespaces) {
this.staxStreamReader = staxCore;
this.saxHandler = saxCore;
this.eagerQuit = eagerQuit;
this.fragment = fragment;
this.inscopeNamespaces = inscopeNamespaces;
assert inscopeNamespaces.length%2 == 0;
}
/*
* @see StAXReaderToContentHandler#bridge()
*/
@ -100,6 +118,10 @@ public class XMLStreamReaderToContentHandler {
handleStartDocument();
for(int i=0; i < inscopeNamespaces.length; i+=2) {
saxHandler.startPrefixMapping(inscopeNamespaces[i], inscopeNamespaces[i+1]);
}
OUTER:
do {
// These are all of the events listed in the javadoc for
@ -156,6 +178,10 @@ public class XMLStreamReaderToContentHandler {
event=staxStreamReader.next();
} while (depth!=0);
for(int i=0; i < inscopeNamespaces.length; i+=2) {
saxHandler.endPrefixMapping(inscopeNamespaces[i]);
}
handleEndDocument();
} catch (SAXException e) {
throw new XMLStreamException2(e);

@ -0,0 +1,63 @@
/*
* Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.istack.internal.localization;
/**
* Localizable message.
*
* @author WS Development Team
*/
public interface Localizable {
/**
* Gets the key in the resource bundle.
*
* @return
* if this method returns {@link #NOT_LOCALIZABLE},
* that means the message is not localizable, and
* the first item of {@link #getArguments()} array
* holds a String.
*/
public String getKey();
/**
* Returns the arguments for message formatting.
*
* @return
* can be an array of length 0 but never be null.
*/
public Object[] getArguments();
public String getResourceBundleName();
/**
* Special constant that represents a message that
* is not localizable.
*
* <p>
* Use of "new" is to create an unique instance.
*/
public static final String NOT_LOCALIZABLE = new String("\u0000");
}

@ -0,0 +1,56 @@
/*
* Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.istack.internal.localization;
/**
* @author WS Development Team
*/
public final class LocalizableMessage implements Localizable {
private final String _bundlename;
private final String _key;
private final Object[] _args;
public LocalizableMessage(String bundlename, String key, Object... args) {
_bundlename = bundlename;
_key = key;
if(args==null)
args = new Object[0];
_args = args;
}
public String getKey() {
return _key;
}
public Object[] getArguments() {
return _args;
}
public String getResourceBundleName() {
return _bundlename;
}
}

@ -23,28 +23,21 @@
* have any questions.
*/
package com.sun.xml.internal.ws.addressing.model;
import javax.xml.ws.WebServiceException;
import javax.xml.namespace.QName;
package com.sun.istack.internal.localization;
/**
* @author Arun Gupta
* @author WS Development Team
*/
public class InvalidMapException extends WebServiceException {
QName name;
QName subsubcode;
public class LocalizableMessageFactory {
public InvalidMapException(QName name, QName subsubcode) {
this.name = name;
this.subsubcode = subsubcode;
private final String _bundlename;
public LocalizableMessageFactory(String bundlename) {
_bundlename = bundlename;
}
public QName getMapQName() {
return name;
public Localizable getMessage(String key, Object... args) {
return new LocalizableMessage(_bundlename, key, args);
}
public QName getSubsubcode() {
return subsubcode;
}
}

@ -0,0 +1,149 @@
/*
* Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.istack.internal.localization;
import java.text.MessageFormat;
import java.util.HashMap;
import java.util.Locale;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
/**
* Localizes the {@link Localizable} into a message
* by using a configured {@link Locale}.
*
* @author WS Development Team
*/
public class Localizer {
private final Locale _locale;
private final HashMap _resourceBundles;
public Localizer() {
this(Locale.getDefault());
}
public Localizer(Locale l) {
_locale = l;
_resourceBundles = new HashMap();
}
public Locale getLocale() {
return _locale;
}
public String localize(Localizable l) {
String key = l.getKey();
if (key == Localizable.NOT_LOCALIZABLE) {
// this message is not localizable
return (String) l.getArguments()[0];
}
String bundlename = l.getResourceBundleName();
try {
ResourceBundle bundle =
(ResourceBundle) _resourceBundles.get(bundlename);
if (bundle == null) {
try {
bundle = ResourceBundle.getBundle(bundlename, _locale);
} catch (MissingResourceException e) {
// work around a bug in the com.sun.enterprise.deployment.WebBundleArchivist:
// all files with an extension different from .class (hence all the .properties files)
// get copied to the top level directory instead of being in the package where they
// are defined
// so, since we can't find the bundle under its proper name, we look for it under
// the top-level package
int i = bundlename.lastIndexOf('.');
if (i != -1) {
String alternateBundleName =
bundlename.substring(i + 1);
try {
bundle =
ResourceBundle.getBundle(
alternateBundleName,
_locale);
} catch (MissingResourceException e2) {
// give up
return getDefaultMessage(l);
}
}
}
_resourceBundles.put(bundlename, bundle);
}
if (bundle == null) {
return getDefaultMessage(l);
}
if (key == null)
key = "undefined";
String msg;
try {
msg = bundle.getString(key);
} catch (MissingResourceException e) {
// notice that this may throw a MissingResourceException of its own (caught below)
msg = bundle.getString("undefined");
}
// localize all arguments to the given localizable object
Object[] args = l.getArguments();
for (int i = 0; i < args.length; ++i) {
if (args[i] instanceof Localizable)
args[i] = localize((Localizable) args[i]);
}
String message = MessageFormat.format(msg, args);
return message;
} catch (MissingResourceException e) {
return getDefaultMessage(l);
}
}
private String getDefaultMessage(Localizable l) {
String key = l.getKey();
Object[] args = l.getArguments();
StringBuilder sb = new StringBuilder();
sb.append("[failed to localize] ");
sb.append(key);
if (args != null) {
sb.append('(');
for (int i = 0; i < args.length; ++i) {
if (i != 0)
sb.append(", ");
sb.append(String.valueOf(args[i]));
}
sb.append(')');
}
return sb.toString();
}
}

@ -66,10 +66,7 @@ public class AnnotationProcessorFactoryImpl implements AnnotationProcessorFactor
types.add("javax.jws.soap.SOAPBinding");
types.add("javax.jws.soap.SOAPMessageHandler");
types.add("javax.jws.soap.SOAPMessageHandlers");
types.add("javax.xml.ws.BeginService");
types.add("javax.xml.ws.EndService");
types.add("javax.xml.ws.BindingType");
types.add("javax.xml.ws.ParameterIndex");
types.add("javax.xml.ws.RequestWrapper");
types.add("javax.xml.ws.ResponseWrapper");
types.add("javax.xml.ws.ServiceMode");
@ -78,8 +75,6 @@ public class AnnotationProcessorFactoryImpl implements AnnotationProcessorFactor
types.add("javax.xml.ws.WebServiceClient");
types.add("javax.xml.ws.WebServiceProvider");
types.add("javax.xml.ws.WebServiceRef");
types.add("javax.xml.ws.security.MessageSecurity");
supportedAnnotations = Collections.unmodifiableCollection(types);
}

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.tools.internal.jxc;
import java.io.File;

@ -30,8 +30,8 @@ BASEDIR_DOESNT_EXIST = \
Non-existent directory: {0}
VERSION = \
schemagen version "JAXB 2.1.3" \n\
JavaTM Architecture for XML Binding(JAXB) Reference Implementation, (build JAXB 2.1.3 in JDK)
schemagen version "JAXB 2.1.10 in JDK 6" \n\
JavaTM Architecture for XML Binding(JAXB) Reference Implementation, (build JAXB 2.1.10 in JDK 6)
USAGE = \
Usage: schemagen [-options ...] <java files> \n\
@ -42,4 +42,3 @@ Options: \n\
\ \ \ \ -episode <file> : generate episode file for separate compilation\n\
\ \ \ \ -version : display version information\n\
\ \ \ \ -help : display this usage message

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.tools.internal.jxc;
import java.text.MessageFormat;

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.tools.internal.jxc;
import java.io.File;

@ -0,0 +1,56 @@
/*
* Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.tools.internal.jxc;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
/**
* CLI entry point to schemagen that checks for JDK 5.0
* @author Kohsuke Kawaguchi
*/
public class SchemaGeneratorFacade {
public static void main(String[] args) throws Throwable {
try {
ClassLoader cl = SchemaGeneratorFacade.class.getClassLoader();
if(cl==null) cl = ClassLoader.getSystemClassLoader();
Class driver = cl.loadClass("com.sun.tools.internal.jxc.SchemaGenerator");
Method mainMethod = driver.getDeclaredMethod("main", new Class[]{String[].class});
try {
mainMethod.invoke(null,new Object[]{args});
} catch (IllegalAccessException e) {
throw e;
} catch (InvocationTargetException e) {
if(e.getTargetException()!=null)
throw e.getTargetException();
}
} catch (UnsupportedClassVersionError e) {
System.err.println("schemagen requires JDK 5.0 or later. Please download it from http://java.sun.com/j2se/1.5/");
}
}
}

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.tools.internal.jxc.apt;
import java.io.File;

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.tools.internal.jxc.apt;
import java.util.Arrays;

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.tools.internal.jxc.apt;
import java.io.File;

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.tools.internal.jxc.apt;
import com.sun.mirror.apt.AnnotationProcessorEnvironment;

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.tools.internal.jxc.apt;
import java.lang.annotation.Annotation;

@ -31,4 +31,3 @@ UNRECOGNIZED_PARAMETER = \
OPERAND_MISSING = \
Option "{0}" is missing an operand.

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.tools.internal.jxc.apt;
import java.text.MessageFormat;

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.tools.internal.jxc.apt;
import java.io.File;

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.tools.internal.jxc.apt;
import java.io.File;

@ -75,6 +75,11 @@ public class Classes extends NGCCHandler {
$localName = $__local;
$qname = $__qname;
switch($_ngcc_current_state) {
case 0:
{
revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
}
break;
case 12:
{
if(($__uri == "" && $__local == "classes")) {
@ -92,18 +97,6 @@ public class Classes extends NGCCHandler {
$runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
}
break;
case 2:
{
if(($__uri == "" && $__local == "excludes")) {
$runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
$_ngcc_current_state = 6;
}
else {
$_ngcc_current_state = 1;
$runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
}
}
break;
case 11:
{
if(($__uri == "" && $__local == "includes")) {
@ -115,9 +108,16 @@ public class Classes extends NGCCHandler {
}
}
break;
case 0:
case 2:
{
revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
if(($__uri == "" && $__local == "excludes")) {
$runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
$_ngcc_current_state = 6;
}
else {
$_ngcc_current_state = 1;
$runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
}
}
break;
default:
@ -133,6 +133,17 @@ public class Classes extends NGCCHandler {
$localName = $__local;
$qname = $__qname;
switch($_ngcc_current_state) {
case 0:
{
revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
}
break;
case 4:
{
$_ngcc_current_state = 3;
$runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
}
break;
case 3:
{
if(($__uri == "" && $__local == "excludes")) {
@ -144,29 +155,12 @@ public class Classes extends NGCCHandler {
}
}
break;
case 4:
{
$_ngcc_current_state = 3;
$runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
}
break;
case 2:
{
$_ngcc_current_state = 1;
$runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
}
break;
case 1:
{
if(($__uri == "" && $__local == "classes")) {
$runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
$_ngcc_current_state = 0;
}
else {
unexpectedLeaveElement($__qname);
}
}
break;
case 8:
{
if(($__uri == "" && $__local == "includes")) {
@ -178,9 +172,15 @@ public class Classes extends NGCCHandler {
}
}
break;
case 0:
case 1:
{
revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
if(($__uri == "" && $__local == "classes")) {
$runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
$_ngcc_current_state = 0;
}
else {
unexpectedLeaveElement($__qname);
}
}
break;
default:
@ -196,6 +196,11 @@ public class Classes extends NGCCHandler {
$localName = $__local;
$qname = $__qname;
switch($_ngcc_current_state) {
case 0:
{
revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
}
break;
case 4:
{
$_ngcc_current_state = 3;
@ -208,11 +213,6 @@ public class Classes extends NGCCHandler {
$runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
}
break;
case 0:
{
revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
}
break;
default:
{
unexpectedEnterAttribute($__qname);
@ -226,6 +226,11 @@ public class Classes extends NGCCHandler {
$localName = $__local;
$qname = $__qname;
switch($_ngcc_current_state) {
case 0:
{
revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
}
break;
case 4:
{
$_ngcc_current_state = 3;
@ -238,11 +243,6 @@ public class Classes extends NGCCHandler {
$runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
}
break;
case 0:
{
revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
}
break;
default:
{
unexpectedLeaveAttribute($__qname);
@ -253,6 +253,11 @@ public class Classes extends NGCCHandler {
public void text(String $value) throws SAXException {
switch($_ngcc_current_state) {
case 0:
{
revertToParentFromText(this, super._cookie, $value);
}
break;
case 9:
{
include_content = $value;
@ -260,14 +265,14 @@ public class Classes extends NGCCHandler {
action2();
}
break;
case 3:
case 4:
{
exclude_content = $value;
$_ngcc_current_state = 3;
action0();
}
break;
case 4:
case 3:
{
exclude_content = $value;
$_ngcc_current_state = 3;
@ -301,11 +306,6 @@ public class Classes extends NGCCHandler {
action1();
}
break;
case 0:
{
revertToParentFromText(this, super._cookie, $value);
}
break;
}
}

@ -70,15 +70,10 @@ public class Config extends NGCCHandler {
$localName = $__local;
$qname = $__qname;
switch($_ngcc_current_state) {
case 0:
case 4:
{
revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
}
break;
case 1:
{
if(($__uri == "" && $__local == "schema")) {
NGCCHandler h = new Schema(this, super._source, $runtime, 3, baseDir);
if(($__uri == "" && $__local == "classes")) {
NGCCHandler h = new Classes(this, super._source, $runtime, 34);
spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
}
else {
@ -97,10 +92,26 @@ public class Config extends NGCCHandler {
}
}
break;
case 1:
{
if(($__uri == "" && $__local == "schema")) {
NGCCHandler h = new Schema(this, super._source, $runtime, 31, baseDir);
spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
}
else {
unexpectedEnterElement($__qname);
}
}
break;
case 0:
{
revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
}
break;
case 2:
{
if(($__uri == "" && $__local == "schema")) {
NGCCHandler h = new Schema(this, super._source, $runtime, 4, baseDir);
NGCCHandler h = new Schema(this, super._source, $runtime, 32, baseDir);
spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
}
else {
@ -120,17 +131,6 @@ public class Config extends NGCCHandler {
}
}
break;
case 4:
{
if(($__uri == "" && $__local == "classes")) {
NGCCHandler h = new Classes(this, super._source, $runtime, 6);
spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
}
else {
unexpectedEnterElement($__qname);
}
}
break;
default:
{
unexpectedEnterElement($__qname);
@ -145,11 +145,6 @@ public class Config extends NGCCHandler {
$localName = $__local;
$qname = $__qname;
switch($_ngcc_current_state) {
case 0:
{
revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
}
break;
case 1:
{
if(($__uri == "" && $__local == "config")) {
@ -161,6 +156,11 @@ public class Config extends NGCCHandler {
}
}
break;
case 0:
{
revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
}
break;
case 2:
{
$_ngcc_current_state = 1;
@ -257,13 +257,6 @@ public class Config extends NGCCHandler {
public void text(String $value) throws SAXException {
int $ai;
switch($_ngcc_current_state) {
case 6:
{
bd = $value;
$_ngcc_current_state = 5;
action1();
}
break;
case 0:
{
revertToParentFromText(this, super._cookie, $value);
@ -283,31 +276,38 @@ public class Config extends NGCCHandler {
}
}
break;
case 6:
{
bd = $value;
$_ngcc_current_state = 5;
action1();
}
break;
}
}
public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
switch($__cookie__) {
case 3:
{
_schema = ((Schema)$__result__);
action0();
$_ngcc_current_state = 1;
}
break;
case 4:
{
_schema = ((Schema)$__result__);
action0();
$_ngcc_current_state = 1;
}
break;
case 6:
case 34:
{
classes = ((Classes)$__result__);
$_ngcc_current_state = 2;
}
break;
case 31:
{
_schema = ((Schema)$__result__);
action0();
$_ngcc_current_state = 1;
}
break;
case 32:
{
_schema = ((Schema)$__result__);
action0();
$_ngcc_current_state = 1;
}
break;
}
}

@ -65,6 +65,23 @@ public class Schema extends NGCCHandler {
$localName = $__local;
$qname = $__qname;
switch($_ngcc_current_state) {
case 0:
{
revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
}
break;
case 2:
{
if(($ai = $runtime.getAttributeIndex("","location"))>=0) {
$runtime.consumeAttribute($ai);
$runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
}
else {
$_ngcc_current_state = 1;
$runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
}
}
break;
case 6:
{
if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
@ -88,23 +105,6 @@ public class Schema extends NGCCHandler {
}
}
break;
case 0:
{
revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
}
break;
case 2:
{
if(($ai = $runtime.getAttributeIndex("","location"))>=0) {
$runtime.consumeAttribute($ai);
$runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
}
else {
$_ngcc_current_state = 1;
$runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
}
}
break;
default:
{
unexpectedEnterElement($__qname);
@ -119,23 +119,23 @@ public class Schema extends NGCCHandler {
$localName = $__local;
$qname = $__qname;
switch($_ngcc_current_state) {
case 6:
case 0:
{
if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
}
break;
case 2:
{
if(($ai = $runtime.getAttributeIndex("","location"))>=0) {
$runtime.consumeAttribute($ai);
$runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
}
else {
$_ngcc_current_state = 2;
$_ngcc_current_state = 1;
$runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
}
}
break;
case 0:
{
revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
}
break;
case 1:
{
if(($__uri == "" && $__local == "schema")) {
@ -147,14 +147,14 @@ public class Schema extends NGCCHandler {
}
}
break;
case 2:
case 6:
{
if(($ai = $runtime.getAttributeIndex("","location"))>=0) {
if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
$runtime.consumeAttribute($ai);
$runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
}
else {
$_ngcc_current_state = 1;
$_ngcc_current_state = 2;
$runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
}
}
@ -172,17 +172,6 @@ public class Schema extends NGCCHandler {
$localName = $__local;
$qname = $__qname;
switch($_ngcc_current_state) {
case 6:
{
if(($__uri == "" && $__local == "namespace")) {
$_ngcc_current_state = 8;
}
else {
$_ngcc_current_state = 2;
$runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
}
}
break;
case 0:
{
revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
@ -199,6 +188,17 @@ public class Schema extends NGCCHandler {
}
}
break;
case 6:
{
if(($__uri == "" && $__local == "namespace")) {
$_ngcc_current_state = 8;
}
else {
$_ngcc_current_state = 2;
$runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
}
}
break;
default:
{
unexpectedEnterAttribute($__qname);
@ -212,17 +212,17 @@ public class Schema extends NGCCHandler {
$localName = $__local;
$qname = $__qname;
switch($_ngcc_current_state) {
case 6:
{
$_ngcc_current_state = 2;
$runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
}
break;
case 0:
{
revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
}
break;
case 2:
{
$_ngcc_current_state = 1;
$runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
}
break;
case 7:
{
if(($__uri == "" && $__local == "namespace")) {
@ -233,6 +233,12 @@ public class Schema extends NGCCHandler {
}
}
break;
case 6:
{
$_ngcc_current_state = 2;
$runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
}
break;
case 3:
{
if(($__uri == "" && $__local == "location")) {
@ -243,12 +249,6 @@ public class Schema extends NGCCHandler {
}
}
break;
case 2:
{
$_ngcc_current_state = 1;
$runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
}
break;
default:
{
unexpectedLeaveAttribute($__qname);
@ -260,24 +260,6 @@ public class Schema extends NGCCHandler {
public void text(String $value) throws SAXException {
int $ai;
switch($_ngcc_current_state) {
case 8:
{
namespace = $value;
$_ngcc_current_state = 7;
}
break;
case 6:
{
if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
$runtime.consumeAttribute($ai);
$runtime.sendText(super._cookie, $value);
}
else {
$_ngcc_current_state = 2;
$runtime.sendText(super._cookie, $value);
}
}
break;
case 0:
{
revertToParentFromText(this, super._cookie, $value);
@ -295,6 +277,12 @@ public class Schema extends NGCCHandler {
}
}
break;
case 8:
{
namespace = $value;
$_ngcc_current_state = 7;
}
break;
case 4:
{
loc = $value;
@ -302,6 +290,18 @@ public class Schema extends NGCCHandler {
action0();
}
break;
case 6:
{
if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
$runtime.consumeAttribute($ai);
$runtime.sendText(super._cookie, $value);
}
else {
$_ngcc_current_state = 2;
$runtime.sendText(super._cookie, $value);
}
}
break;
}
}

@ -23,6 +23,8 @@
CA 95054 USA or visit www.sun.com if you need additional information or
have any questions.
-->
<!-- THIS IS A GENERATED FILE. DO NOT MODIFY. -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="config">

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.tools.internal.jxc.model.nav;
import java.util.ArrayList;
@ -306,7 +307,7 @@ public class APTNavigator implements Navigator<TypeMirror,TypeDeclaration,FieldD
}
public boolean isInnerClass(TypeDeclaration clazz) {
return clazz.getDeclaringType()!=null;
return clazz.getDeclaringType()!=null && !clazz.getModifiers().contains(Modifier.STATIC);
}
public boolean isArray(TypeMirror t) {

@ -55,10 +55,12 @@ public final class Invoker {
static int invoke(String mainClass, String[] args) throws Throwable {
// use the platform default proxy if available.
// see sun.net.spi.DefaultProxySelector for details.
try {
System.setProperty("java.net.useSystemProxies","true");
} catch (SecurityException e) {
// failing to set this property isn't fatal
if(!noSystemProxies) {
try {
System.setProperty("java.net.useSystemProxies","true");
} catch (SecurityException e) {
// failing to set this property isn't fatal
}
}
ClassLoader oldcc = Thread.currentThread().getContextClassLoader();
@ -220,4 +222,18 @@ public final class Invoker {
"com.sun.xml.internal.bind.",
"com.sun.xml.internal.ws."
};
/**
* Escape hatch to work around IBM JDK problem.
* See http://www-128.ibm.com/developerworks/forums/dw_thread.jsp?nav=false&forum=367&thread=164718&cat=10
*/
public static boolean noSystemProxies = false;
static {
try {
noSystemProxies = Boolean.getBoolean(Invoker.class.getName()+".noSystemProxies");
} catch(SecurityException e) {
// ignore
}
}
}

@ -34,6 +34,7 @@ import com.sun.tools.internal.ws.processor.generator.JavaGeneratorExtensionFacad
*
* @see JavaGeneratorExtensionFacade
* @author Vivek Pandey
* @deprecated This class is deprecated, will be removed in JAX-WS 2.2 RI.
*/
public abstract class TJavaGeneratorExtension {
/**

@ -0,0 +1,43 @@
/*
* Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.tools.internal.ws.api;
/**
* Allows to customize wsgen behaviour using this extension.
* The extension implementations are found using service
* discovery mechanism i.e. JAX-WS tooltime locates
* {@link WsgenExtension}s through the
* <tt>META-INF/services/com.sun.tools.internal.ws.api.WsgenExtension</tt>
* files.
*
* {@link WsgenProtocol} annotation can be specified on the
* extensions to extend -wsdl[:protocol] behaviour.
*
* @author Jitendra Kotamraju
* @since JAX-WS RI 2.1.6
* @see WsgenProtocol
*/
public abstract class WsgenExtension {
}

@ -0,0 +1,52 @@
/*
* Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.tools.internal.ws.api;
import java.lang.annotation.*;
/**
* Allows to extend protocol for wsgen's wsdl[:protocol] switch.
* This annotation must be specified on {@link WsgenExtension}
* implementations.
*
* @author Jitendra Kotamraju
* @since JAX-WS RI 2.1.6
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface WsgenProtocol {
/**
* Token for wsgen -wsdl[:protocol]
* @return
*/
String token();
/**
* The corresponding lexical string used to create BindingID
* @return
*/
String lexical();
}

@ -32,6 +32,8 @@ import javax.xml.namespace.QName;
* A WSDL element or attribute that can be extended.
*
* @author Vivek Pandey
* @deprecated This interface is deprecated, will be removed in JAX-WS 2.2 RI.
*
*/
public interface TWSDLExtensible {
/**

@ -29,6 +29,7 @@ package com.sun.tools.internal.ws.api.wsdl;
* A WSDL extension
*
* @author Vivek Pandey
* @deprecated This interface is deprecated, will be removed in JAX-WS 2.2 RI.
*/
public interface TWSDLExtension {
/**

@ -33,6 +33,7 @@ import org.w3c.dom.Element;
* with it for the WSDL extensibility elements thats not already defined in the WSDL 1.1 spec, such as SOAP or MIME.
*
* @author Vivek Pandey
* @deprecated This class is deprecated, will be removed in JAX-WS 2.2 RI.
*/
public abstract class TWSDLExtensionHandler {
/**

@ -33,6 +33,7 @@ import java.util.Map;
* Abstracts wsdl:portType/wsdl:operation
*
* @author Vivek Pandey
* @deprecated This interface is deprecated, will be removed in JAX-WS 2.2 RI.
*/
public interface TWSDLOperation extends TWSDLExtensible{
/**

@ -33,6 +33,7 @@ import org.xml.sax.Locator;
* it can be latter used by other extensions to resolve the namespaces.
*
* @author Vivek Pandey
* @deprecated This interface is deprecated, will be removed in JAX-WS 2.2 RI.
*/
public interface TWSDLParserContext {

@ -24,7 +24,7 @@
*/
/**
* <h1>JAX-WS 2.0.1 Tools</h1>
* <h1>JAX-WS 2.1 Tools</h1>
* This document describes the tools included with JAX-WS 2.0.1.
*
* {@DotDiagram
@ -42,22 +42,24 @@
// libraries
node [style=filled,color=lightblue];
CompileTool; "WSAP"; WebServiceAP; Processor; Modeler; ProcessorActions;
WsimportTool; WsgenTool;"WSAP"; WebServiceAP; WSDLModeler;WSDLParser;SeiGenerator;ServiceGenerator;ExceptionGenerator;"JAXB XJC APIs";CodeModel;
// aps
# node [style=filled,color=lightpink];
# "JAX-WS"; tools; runtime; SPI; "Annotation Processor";
"Apt ANT Task" -> APT;
"WsGen ANT Task" -> wsgen -> CompileTool;
"WsImport ANT Task" -> wsimport -> CompileTool;
"WsGen ANT Task" -> wsgen -> WsgenTool;
"WsImport ANT Task" -> wsimport -> WsimportTool;
CompileTool -> APT -> WSAP -> WebServiceAP;
CompileTool -> Processor -> Modeler;
Processor -> ProcessorActions;
CompileTool -> WebServiceAP;
Modeler -> WSDLModeler;
WsgenTool -> APT -> WSAP -> WebServiceAP;
WsimportTool -> WSDLModeler;
WSDLModeler->WSDLParser;
WSDLModeler->"JAXB XJC APIs"
WsimportTool->SeiGenerator->CodeModel;
WsimportTool->ServiceGenerator->CodeModel;
WsimportTool->ExceptionGenerator->CodeModel;
WebServiceAP->CodeModel
}
* }
* <div align=right>

@ -156,12 +156,14 @@ public abstract class GeneratorBase
return comments;
}
protected JDefinedClass getClass(String className, ClassType type) {
protected JDefinedClass getClass(String className, ClassType type) throws JClassAlreadyExistsException {
JDefinedClass cls;
try {
cls = cm._class(className, type);
} catch (JClassAlreadyExistsException e){
cls = cm._getClass(className);
if(cls == null)
throw e;
}
return cls;
}

@ -36,7 +36,11 @@ import com.sun.tools.internal.ws.processor.model.jaxb.JAXBTypeAndAnnotation;
import com.sun.tools.internal.ws.wscompile.ErrorReceiver;
import com.sun.tools.internal.ws.wscompile.Options;
import com.sun.tools.internal.ws.wscompile.WsimportOptions;
import com.sun.tools.internal.ws.wscompile.AbortException;
import com.sun.tools.internal.ws.wsdl.document.soap.SOAPStyle;
import com.sun.tools.internal.ws.wsdl.document.PortType;
import com.sun.tools.internal.ws.wsdl.document.Kinds;
import com.sun.tools.internal.ws.resources.GeneratorMessages;
import javax.jws.WebMethod;
import javax.jws.WebParam;
@ -48,6 +52,8 @@ import javax.xml.ws.Holder;
import java.util.ArrayList;
import java.util.List;
import org.xml.sax.Locator;
public class SeiGenerator extends GeneratorBase{
private String serviceNS;
private TJavaGeneratorExtension extension;
@ -83,10 +89,22 @@ public class SeiGenerator extends GeneratorBase{
}
JDefinedClass cls = getClass(className, ClassType.INTERFACE);
if (cls == null)
JDefinedClass cls = null;
try {
cls = getClass(className, ClassType.INTERFACE);
} catch (JClassAlreadyExistsException e) {
QName portTypeName =
(QName) port.getProperty(
ModelProperties.PROPERTY_WSDL_PORT_TYPE_NAME);
Locator loc = null;
if(portTypeName != null){
PortType pt = port.portTypes.get(portTypeName);
if(pt!=null)
loc = pt.getLocator();
}
receiver.error(loc, GeneratorMessages.GENERATOR_SEI_CLASS_ALREADY_EXIST(intf.getName(), portTypeName));
return;
}
// If the class has methods it has already been defined
// so skip it.
if (!cls.methods().isEmpty())
@ -441,15 +459,7 @@ public class SeiGenerator extends GeneratorBase{
if (port.isProvider()) {
return; // Not generating for Provider based endpoint
}
try {
write(port);
} catch (Exception e) {
throw new GeneratorException(
"generator.nestedGeneratorError",
e);
}
write(port);
}
private void register(TJavaGeneratorExtension h) {

@ -29,11 +29,13 @@ import com.sun.codemodel.internal.*;
import com.sun.tools.internal.ws.processor.model.Model;
import com.sun.tools.internal.ws.processor.model.Port;
import com.sun.tools.internal.ws.processor.model.Service;
import com.sun.tools.internal.ws.processor.model.ModelProperties;
import com.sun.tools.internal.ws.processor.model.java.JavaInterface;
import com.sun.tools.internal.ws.wscompile.ErrorReceiver;
import com.sun.tools.internal.ws.wscompile.Options;
import com.sun.tools.internal.ws.wscompile.WsimportOptions;
import com.sun.tools.internal.ws.resources.GeneratorMessages;
import com.sun.tools.internal.ws.wsdl.document.PortType;
import com.sun.xml.internal.bind.api.JAXBRIContext;
import com.sun.xml.internal.ws.util.JAXWSUtils;
@ -42,161 +44,174 @@ import javax.xml.ws.WebEndpoint;
import javax.xml.ws.WebServiceClient;
import javax.xml.ws.WebServiceFeature;
import java.io.IOException;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.logging.Logger;
import org.xml.sax.Locator;
/**
*
* @author WS Development Team
*/
public class ServiceGenerator extends GeneratorBase{
public class ServiceGenerator extends GeneratorBase {
public static void generate(Model model, WsimportOptions options, ErrorReceiver receiver){
public static void generate(Model model, WsimportOptions options, ErrorReceiver receiver) {
ServiceGenerator serviceGenerator = new ServiceGenerator(model, options, receiver);
serviceGenerator.doGeneration();
}
private ServiceGenerator(Model model, WsimportOptions options, ErrorReceiver receiver) {
super(model, options, receiver);
}
private JInvocation createURL(URL url) {
return JExpr._new(cm.ref(URL.class)).arg(url.toExternalForm());
}
@Override
public void visit(Service service) {
JavaInterface intf = service.getJavaInterface();
String className = Names.customJavaTypeClassName(intf);
if (donotOverride && GeneratorUtil.classExists(options, className)) {
log("Class " + className + " exists. Not overriding.");
return;
}
JDefinedClass cls;
try {
JavaInterface intf = service.getJavaInterface();
String className = Names.customJavaTypeClassName(intf);
if (donotOverride && GeneratorUtil.classExists(options, className)) {
log("Class " + className + " exists. Not overriding.");
cls = getClass(className, ClassType.CLASS);
} catch (JClassAlreadyExistsException e) {
receiver.error(service.getLocator(), GeneratorMessages.GENERATOR_SERVICE_CLASS_ALREADY_EXIST(className, service.getName()));
return;
}
cls._extends(javax.xml.ws.Service.class);
String serviceFieldName = JAXBRIContext.mangleNameToClassName(service.getName().getLocalPart()).toUpperCase();
String wsdlLocationName = serviceFieldName + "_WSDL_LOCATION";
JFieldVar urlField = cls.field(JMod.PRIVATE | JMod.STATIC | JMod.FINAL, URL.class, wsdlLocationName);
cls.field(JMod.PRIVATE | JMod.STATIC | JMod.FINAL, Logger.class, "logger", cm.ref(Logger.class).staticInvoke("getLogger").arg(JExpr.dotclass(cm.ref(className)).invoke("getName")));
JClass qNameCls = cm.ref(QName.class);
JInvocation inv;
inv = JExpr._new(qNameCls);
inv.arg("namespace");
inv.arg("localpart");
JBlock staticBlock = cls.init();
JVar urlVar = staticBlock.decl(cm.ref(URL.class), "url", JExpr._null());
JTryBlock tryBlock = staticBlock._try();
JVar baseUrl = tryBlock.body().decl(cm.ref(URL.class), "baseUrl");
tryBlock.body().assign(baseUrl, JExpr.dotclass(cm.ref(className)).invoke("getResource").arg("."));
tryBlock.body().assign(urlVar, JExpr._new(cm.ref(URL.class)).arg(baseUrl).arg(wsdlLocation));
JCatchBlock catchBlock = tryBlock._catch(cm.ref(MalformedURLException.class));
catchBlock.param("e");
catchBlock.body().directStatement("logger.warning(\"Failed to create URL for the wsdl Location: " + JExpr.quotify('\'', wsdlLocation) + ", retrying as a local file\");");
catchBlock.body().directStatement("logger.warning(e.getMessage());");
staticBlock.assign(urlField, urlVar);
//write class comment - JAXWS warning
JDocComment comment = cls.javadoc();
if (service.getJavaDoc() != null) {
comment.add(service.getJavaDoc());
comment.add("\n\n");
}
for (String doc : getJAXWSClassComment()) {
comment.add(doc);
}
JMethod constructor = cls.constructor(JMod.PUBLIC);
constructor.param(URL.class, "wsdlLocation");
constructor.param(QName.class, "serviceName");
constructor.body().directStatement("super(wsdlLocation, serviceName);");
constructor = cls.constructor(JMod.PUBLIC);
constructor.body().directStatement("super(" + wsdlLocationName + ", new QName(\"" + service.getName().getNamespaceURI() + "\", \"" + service.getName().getLocalPart() + "\"));");
//@WebService
JAnnotationUse webServiceClientAnn = cls.annotate(cm.ref(WebServiceClient.class));
writeWebServiceClientAnnotation(service, webServiceClientAnn);
//@HandlerChain
writeHandlerConfig(Names.customJavaTypeClassName(service.getJavaInterface()), cls, options);
for (Port port : service.getPorts()) {
if (port.isProvider()) {
continue; // No getXYZPort() for porvider based endpoint
}
//Get the SEI class
JType retType;
try {
retType = getClass(port.getJavaInterface().getName(), ClassType.INTERFACE);
} catch (JClassAlreadyExistsException e) {
QName portTypeName =
(QName) port.getProperty(
ModelProperties.PROPERTY_WSDL_PORT_TYPE_NAME);
Locator loc = null;
if (portTypeName != null) {
PortType pt = port.portTypes.get(portTypeName);
if (pt != null)
loc = pt.getLocator();
}
receiver.error(loc, GeneratorMessages.GENERATOR_SEI_CLASS_ALREADY_EXIST(port.getJavaInterface().getName(), portTypeName));
return;
}
JDefinedClass cls = getClass(className, ClassType.CLASS);
//write getXyzPort()
writeDefaultGetPort(port, retType, cls);
cls._extends(javax.xml.ws.Service.class);
String serviceFieldName = JAXBRIContext.mangleNameToClassName(service.getName().getLocalPart()).toUpperCase();
String wsdlLocationName = serviceFieldName+"_WSDL_LOCATION";
JFieldVar urlField = cls.field(JMod.PRIVATE|JMod.STATIC|JMod.FINAL, URL.class, wsdlLocationName);
JClass qNameCls = cm.ref(QName.class);
JInvocation inv;
inv = JExpr._new(qNameCls);
inv.arg("namespace");
inv.arg("localpart");
JBlock staticBlock = cls.init();
URL url = new URL(JAXWSUtils.absolutize(JAXWSUtils.getFileOrURLName(wsdlLocation)));
JVar urlVar = staticBlock.decl(cm.ref(URL.class),"url", JExpr._null());
JTryBlock tryBlock = staticBlock._try();
tryBlock.body().assign(urlVar, createURL(url));
JCatchBlock catchBlock = tryBlock._catch(cm.ref(MalformedURLException.class));
catchBlock.param("e");
catchBlock.body().directStatement("e.printStackTrace();");
staticBlock.assign(urlField, urlVar);
//write class comment - JAXWS warning
JDocComment comment = cls.javadoc();
if(service.getJavaDoc() != null){
comment.add(service.getJavaDoc());
comment.add("\n\n");
}
for (String doc : getJAXWSClassComment()) {
comment.add(doc);
}
JMethod constructor = cls.constructor(JMod.PUBLIC);
constructor.param(URL.class, "wsdlLocation");
constructor.param(QName.class, "serviceName");
constructor.body().directStatement("super(wsdlLocation, serviceName);");
constructor = cls.constructor(JMod.PUBLIC);
constructor.body().directStatement("super("+wsdlLocationName+", new QName(\""+service.getName().getNamespaceURI()+"\", \""+service.getName().getLocalPart()+"\"));");
//@WebService
JAnnotationUse webServiceClientAnn = cls.annotate(cm.ref(WebServiceClient.class));
writeWebServiceClientAnnotation(service, webServiceClientAnn);
//@HandlerChain
writeHandlerConfig(Names.customJavaTypeClassName(service.getJavaInterface()), cls, options);
for (Port port: service.getPorts()) {
if (port.isProvider()) {
continue; // No getXYZPort() for porvider based endpoint
}
//write getXyzPort()
writeDefaultGetPort(port, cls);
//write getXyzPort(WebServicesFeature...)
if(options.target.isLaterThan(Options.Target.V2_1))
writeGetPort(port, cls);
}
} catch (IOException e) {
receiver.error(e);
//write getXyzPort(WebServicesFeature...)
if (options.target.isLaterThan(Options.Target.V2_1))
writeGetPort(port, retType, cls);
}
}
private void writeGetPort(Port port, JDefinedClass cls) {
JType retType = getClass(port.getJavaInterface().getName(), ClassType.INTERFACE);
private void writeGetPort(Port port, JType retType, JDefinedClass cls) {
JMethod m = cls.method(JMod.PUBLIC, retType, port.getPortGetter());
JDocComment methodDoc = m.javadoc();
if(port.getJavaDoc() != null)
if (port.getJavaDoc() != null)
methodDoc.add(port.getJavaDoc());
JCommentPart ret = methodDoc.addReturn();
JCommentPart paramDoc = methodDoc.addParam("features");
paramDoc.append("A list of ");
paramDoc.append("{@link "+WebServiceFeature.class.getName()+"}");
paramDoc.append("{@link " + WebServiceFeature.class.getName() + "}");
paramDoc.append("to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.");
ret.add("returns "+retType.name());
ret.add("returns " + retType.name());
m.varParam(WebServiceFeature.class, "features");
JBlock body = m.body();
StringBuffer statement = new StringBuffer("return (");
statement.append(retType.name());
statement.append(")super.getPort(new QName(\"").append(port.getName().getNamespaceURI()).append("\", \"").append(port.getName().getLocalPart()).append("\"), ");
StringBuffer statement = new StringBuffer("return ");
statement.append("super.getPort(new QName(\"").append(port.getName().getNamespaceURI()).append("\", \"").append(port.getName().getLocalPart()).append("\"), ");
statement.append(retType.name());
statement.append(".class, features);");
body.directStatement(statement.toString());
writeWebEndpoint(port, m);
}
private void writeDefaultGetPort(Port port, JDefinedClass cls) {
JType retType = getClass(port.getJavaInterface().getName(), ClassType.INTERFACE);
private void writeDefaultGetPort(Port port, JType retType, JDefinedClass cls) {
String portGetter = port.getPortGetter();
JMethod m = cls.method(JMod.PUBLIC, retType, portGetter);
JDocComment methodDoc = m.javadoc();
if(port.getJavaDoc() != null)
if (port.getJavaDoc() != null)
methodDoc.add(port.getJavaDoc());
JCommentPart ret = methodDoc.addReturn();
ret.add("returns "+retType.name());
ret.add("returns " + retType.name());
JBlock body = m.body();
StringBuffer statement = new StringBuffer("return (");
statement.append(retType.name());
statement.append(")super.getPort(new QName(\"").append(port.getName().getNamespaceURI()).append("\", \"").append(port.getName().getLocalPart()).append("\"), ");
StringBuffer statement = new StringBuffer("return ");
statement.append("super.getPort(new QName(\"").append(port.getName().getNamespaceURI()).append("\", \"").append(port.getName().getLocalPart()).append("\"), ");
statement.append(retType.name());
statement.append(".class);");
body.directStatement(statement.toString());
writeWebEndpoint(port, m);
}
protected JDefinedClass getClass(String className, ClassType type) {
JDefinedClass cls;
try {
cls = cm._class(className, type);
} catch (JClassAlreadyExistsException e){
cls = cm._getClass(className);
}
return cls;
}
private void writeWebServiceClientAnnotation(Service service, JAnnotationUse wsa) {
String serviceName = service.getName().getLocalPart();
String serviceNS= service.getName().getNamespaceURI();
String serviceNS = service.getName().getNamespaceURI();
wsa.param("name", serviceName);
wsa.param("targetNamespace", serviceNS);
wsa.param("wsdlLocation", wsdlLocation);

@ -22,9 +22,6 @@
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
/*
* $Id: W3CAddressingJavaGeneratorExtension.java,v 1.1.2.4 2006/10/31 19:57:28 vivekp Exp $
*/
package com.sun.tools.internal.ws.processor.generator;

@ -26,6 +26,7 @@
package com.sun.tools.internal.ws.processor.model;
import com.sun.tools.internal.ws.processor.model.java.JavaInterface;
import com.sun.tools.internal.ws.wsdl.document.PortType;
import com.sun.tools.internal.ws.wsdl.document.soap.SOAPStyle;
import com.sun.tools.internal.ws.wsdl.framework.Entity;
@ -174,4 +175,5 @@ public class Port extends ModelObject {
private String _address;
private String _serviceImplName;
private Map<String, Operation> operationsByName = new HashMap<String, Operation>();
public Map<QName, PortType> portTypes = new HashMap<QName, PortType>();
}

@ -27,6 +27,7 @@ package com.sun.tools.internal.ws.processor.model.java;
import com.sun.tools.internal.ws.resources.ModelMessages;
import com.sun.tools.internal.ws.wscompile.ErrorReceiver;
import com.sun.tools.internal.ws.wscompile.WsimportOptions;
import com.sun.tools.internal.ws.processor.model.Parameter;
import java.util.ArrayList;
@ -42,12 +43,14 @@ public class JavaMethod {
private final String name;
private final List<JavaParameter> parameters = new ArrayList<JavaParameter>();
private final List<String> exceptions = new ArrayList<String>();
private final WsimportOptions options;
private JavaType returnType;
public JavaMethod(String name, ErrorReceiver receiver) {
public JavaMethod(String name, WsimportOptions options, ErrorReceiver receiver) {
this.name = name;
this.returnType = null;
this.errorReceiver = receiver;
this.options = options;
}
public String getName() {
@ -83,10 +86,19 @@ public class JavaMethod {
public void addParameter(JavaParameter param) {
// verify that this member does not already exist
if (hasParameter(param.getName())) {
errorReceiver.error(param.getParameter().getLocator(), ModelMessages.MODEL_PARAMETER_NOTUNIQUE(param.getName(), param.getParameter().getEntityName()));
Parameter duplicParam = getParameter(param.getName());
errorReceiver.error(duplicParam.getLocator(), ModelMessages.MODEL_PARAMETER_NOTUNIQUE(param.getName(), duplicParam.getEntityName()));
return;
if(options.isExtensionMode()){
param.setName(getUniqueName(param.getName()));
}else{
Parameter duplicParam = getParameter(param.getName());
if(param.getParameter().isEmbedded()){
errorReceiver.error(param.getParameter().getLocator(), ModelMessages.MODEL_PARAMETER_NOTUNIQUE_WRAPPER(param.getName(), param.getParameter().getEntityName()));
errorReceiver.error(duplicParam.getLocator(), ModelMessages.MODEL_PARAMETER_NOTUNIQUE_WRAPPER(param.getName(), duplicParam.getEntityName()));
}else{
errorReceiver.error(param.getParameter().getLocator(), ModelMessages.MODEL_PARAMETER_NOTUNIQUE(param.getName(), param.getParameter().getEntityName()));
errorReceiver.error(duplicParam.getLocator(), ModelMessages.MODEL_PARAMETER_NOTUNIQUE(param.getName(), duplicParam.getEntityName()));
}
return;
}
}
parameters.add(param);
}
@ -106,4 +118,12 @@ public class JavaMethod {
public Iterator<String> getExceptions() {
return exceptions.iterator();
}
private String getUniqueName(String param){
int parmNum = 0;
while(hasParameter(param)){
param = param + Integer.toString(parmNum++);
}
return param;
}
}

@ -71,11 +71,11 @@ public class JAXBType extends AbstractType{
}
public boolean isUnwrappable(){
return getJaxbMapping().getWrapperStyleDrilldown() != null;
return jaxbMapping != null && jaxbMapping.getWrapperStyleDrilldown() != null;
}
public boolean hasWrapperChildren(){
return (getWrapperChildren().size() > 0) ? true : false;
return wrapperChildren.size() > 0;
}
public boolean isLiteralType() {

@ -210,6 +210,7 @@ public class WebServiceAP implements AnnotationProcessor, ModelBuilder, WebServi
public void onError(String message) {
if (messager != null) {
messager.printError(message);
throw new AbortException();
} else {
throw new ModelerException(message);
}

@ -441,10 +441,21 @@ public abstract class WebServiceVisitor extends SimpleDeclarationVisitor impleme
protected boolean shouldProcessMethod(MethodDeclaration method, WebMethod webMethod) {
builder.log("should process method: "+method.getSimpleName()+" hasWebMethods: "+ hasWebMethods+" ");
/*
Fix for https://jax-ws.dev.java.net/issues/show_bug.cgi?id=577
if (hasWebMethods && webMethod == null) {
builder.log("webMethod == null");
return false;
}
*/
Collection<Modifier> modifiers = method.getModifiers();
boolean staticFinal = modifiers.contains(Modifier.STATIC) || modifiers.contains(Modifier.FINAL);
if (staticFinal) {
if (webMethod != null) {
builder.onError(method.getPosition(), WebserviceapMessages.localizableWEBSERVICEAP_WEBSERVICE_METHOD_IS_STATIC_OR_FINAL(method.getDeclaringType(), method));
}
return false;
}
boolean retval = (endpointReferencesInterface ||
method.getDeclaringType().equals(typeDecl) ||
(method.getDeclaringType().getAnnotation(WebService.class) != null));
@ -474,10 +485,6 @@ public abstract class WebServiceVisitor extends SimpleDeclarationVisitor impleme
builder.onError(classDecl.getPosition(), WebserviceapMessages.localizableWEBSERVICEAP_WEBSERVICE_CLASS_IS_ABSTRACT(classDecl.getQualifiedName()));
return false;
}
if (classDecl.getDeclaringType() != null && !modifiers.contains(Modifier.STATIC) && !isStateful) {
builder.onError(classDecl.getPosition(), WebserviceapMessages.localizableWEBSERVICEAP_WEBSERVICE_CLASS_IS_INNERCLASS_NOT_STATIC(classDecl.getQualifiedName()));
return false;
}
boolean hasDefaultConstructor = false;
for (ConstructorDeclaration constructor : classDecl.getConstructors()) {
if (constructor.getModifiers().contains(Modifier.PUBLIC) &&
@ -487,6 +494,11 @@ public abstract class WebServiceVisitor extends SimpleDeclarationVisitor impleme
}
}
if (!hasDefaultConstructor && !isStateful) {
if (classDecl.getDeclaringType() != null && !modifiers.contains(Modifier.STATIC)) {
builder.onError(classDecl.getPosition(), WebserviceapMessages.localizableWEBSERVICEAP_WEBSERVICE_CLASS_IS_INNERCLASS_NOT_STATIC(classDecl.getQualifiedName()));
return false;
}
builder.onError(classDecl.getPosition(), WebserviceapMessages.localizableWEBSERVICEAP_WEBSERVICE_NO_DEFAULT_CONSTRUCTOR(classDecl.getQualifiedName()));
return false;
}
@ -578,7 +590,7 @@ public abstract class WebServiceVisitor extends SimpleDeclarationVisitor impleme
}
ClassType superClass = classDecl.getSuperclass();
if (!superClass.getDeclaration().getQualifiedName().equals(JAVA_LANG_OBJECT) && superClass != null && !methodsAreLegal(superClass.getDeclaration())) {
if (!superClass.getDeclaration().getQualifiedName().equals(JAVA_LANG_OBJECT) && !methodsAreLegal(superClass.getDeclaration())) {
return false;
}
return true;
@ -596,11 +608,13 @@ public abstract class WebServiceVisitor extends SimpleDeclarationVisitor impleme
if (!hasWebMethods && (webMethod !=null) && webMethod.exclude()) {
return true;
}
/*
This check is not needed as Impl class is already checked that it is not abstract.
if (typeDecl instanceof ClassDeclaration && method.getModifiers().contains(Modifier.ABSTRACT)) {
builder.onError(method.getPosition(), WebserviceapMessages.localizableWEBSERVICEAP_WEBSERVICE_METHOD_IS_ABSTRACT(typeDecl.getQualifiedName(), method.getSimpleName()));
return false;
}
*/
if (!isLegalType(method.getReturnType())) {
builder.onError(method.getPosition(), WebserviceapMessages.localizableWEBSERVICEAP_METHOD_RETURN_TYPE_CANNOT_IMPLEMENT_REMOTE(typeDecl.getQualifiedName(),
method.getSimpleName(),
@ -750,7 +764,12 @@ public abstract class WebServiceVisitor extends SimpleDeclarationVisitor impleme
protected boolean isLegalType(TypeMirror type) {
if (!(type instanceof DeclaredType))
return true;
return !builder.isRemote(((DeclaredType)type).getDeclaration());
TypeDeclaration typeDecl = ((DeclaredType)type).getDeclaration();
if(typeDecl == null) {
// can be null, if this type's declaration is unknown. This may be the result of a processing error, such as a missing class file.
builder.onError(WebserviceapMessages.WEBSERVICEAP_COULD_NOT_FIND_TYPEDECL(typeDecl.toString(), context.getRound()));
}
return !builder.isRemote(typeDecl);
}
protected ParameterDeclaration getOutParameter(MethodDeclaration method) {

@ -127,8 +127,10 @@ public class WebServiceWrapperGenerator extends WebServiceVisitor {
boolean beanGenerated = false;
for (ReferenceType thrownType : method.getThrownTypes()) {
ClassDeclaration typeDecl = ((ClassType)thrownType).getDeclaration();
if (typeDecl == null)
if (typeDecl == null){
builder.onError(WebserviceapMessages.WEBSERVICEAP_COULD_NOT_FIND_TYPEDECL(thrownType.toString(), context.getRound()));
return false;
}
boolean tmp = generateExceptionBean(typeDecl, beanPackage);
beanGenerated = beanGenerated || tmp;
}
@ -195,7 +197,7 @@ public class WebServiceWrapperGenerator extends WebServiceVisitor {
if (resWrapper.targetNamespace().length() > 0)
resNamespace = resWrapper.targetNamespace();
}
canOverwriteResponse = builder.canOverWriteClass(requestClassName);
canOverwriteResponse = builder.canOverWriteClass(responseClassName);
if (!canOverwriteResponse) {
builder.log("Class " + responseClassName + " exists. Not overwriting.");
}
@ -593,7 +595,7 @@ public class WebServiceWrapperGenerator extends WebServiceVisitor {
return;
String accessorName =JAXBRIContext.mangleNameToPropertyName(paramName);
String getterPrefix = paramType.equals("boolean") || paramType.equals("java.lang.Boolean") ? "is" : "get";
String getterPrefix = paramType.toString().equals("boolean")? "is" : "get";
JType propType = getType(paramType);
JMethod m = cls.method(JMod.PUBLIC, propType, getterPrefix+ accessorName);
JDocComment methodDoc = m.javadoc();

@ -57,6 +57,8 @@ public class ConsoleErrorReporter extends ErrorReceiver {
print(WscompileMessages.WSIMPORT_ERROR_MESSAGE(e.getMessage()), e);
}
public void fatalError(SAXParseException e) {
if(debug)
e.printStackTrace();
@ -76,6 +78,11 @@ public class ConsoleErrorReporter extends ErrorReceiver {
print(WscompileMessages.WSIMPORT_INFO_MESSAGE(e.getMessage()), e);
}
public void debug(SAXParseException e){
print(WscompileMessages.WSIMPORT_DEBUG_MESSAGE(e.getMessage()), e);
}
private void print(String message, SAXParseException e) {
output.println(message);
output.println(getLocationString(e));

@ -28,6 +28,7 @@ import com.sun.tools.internal.ws.processor.generator.Names;
import static com.sun.tools.internal.ws.processor.modeler.wsdl.WSDLModelerBase.getExtensionOfType;
import com.sun.tools.internal.ws.wscompile.ErrorReceiver;
import com.sun.tools.internal.ws.wscompile.WsimportOptions;
import com.sun.tools.internal.ws.wscompile.Options;
import com.sun.tools.internal.ws.wsdl.document.*;
import com.sun.tools.internal.ws.wsdl.document.jaxws.JAXWSBinding;
import com.sun.tools.internal.ws.wsdl.document.schema.SchemaKinds;
@ -101,7 +102,7 @@ public class PseudoSchemaBuilder {
is.setSystemId(sysId+(i + 1));
}
//add w3c EPR binding
if(!(options.noAddressingBbinding && options.isExtensionMode())){
if(!(options.noAddressingBbinding) && options.target.isLaterThan(Options.Target.V2_1)){
InputSource is = new InputSource(new ByteArrayInputStream(w3ceprSchemaBinding.getBytes()));
is.setSystemId(sysId+(++i +1));
b.schemas.add(is);

@ -74,7 +74,7 @@ import java.io.IOException;
public class WSDLModeler extends WSDLModelerBase {
//map of wsdl:operation QName to <soapenv:Body> child, as per BP it must be unique in a port
private final Map<QName, QName> uniqueBodyBlocks = new HashMap<QName, QName>();
private final Map<QName, Operation> uniqueBodyBlocks = new HashMap<QName, Operation>();
private final QName VOID_BODYBLOCK = new QName("");
private ClassNameCollector classNameCollector;
private final String explicitDefaultPackage;
@ -334,11 +334,12 @@ public class WSDLModeler extends WSDLModelerBase {
|| (!soapBinding.getTransport().equals(
SOAPConstants.URI_SOAP_TRANSPORT_HTTP) && !soapBinding.getTransport().equals(
SOAP12Constants.URI_SOAP_TRANSPORT_HTTP)))) {
warning(wsdlPort, ModelerMessages.WSDLMODELER_WARNING_IGNORING_SOAP_BINDING_NON_HTTP_TRANSPORT(wsdlPort.getName()));
if (!options.isExtensionMode()) {
// cannot deal with non-HTTP ports
warning(wsdlPort, ModelerMessages.WSDLMODELER_WARNING_IGNORING_SOAP_BINDING_NON_HTTP_TRANSPORT(wsdlPort.getName()));
return false;
}
}
/**
@ -679,7 +680,12 @@ public class WSDLModeler extends WSDLModelerBase {
if (soapStyle == SOAPStyle.RPC) {
if (soapRequestBody.isEncoded()) {
error(soapRequestBody, ModelerMessages.WSDLMODELER_20_RPCENC_NOT_SUPPORTED());
if(options.isExtensionMode()){
warning(soapRequestBody, ModelerMessages.WSDLMODELER_20_RPCENC_NOT_SUPPORTED());
processNonSOAPOperation();
}else{
error(soapRequestBody, ModelerMessages.WSDLMODELER_20_RPCENC_NOT_SUPPORTED());
}
}
return processLiteralSOAPOperation(StyleAndUse.RPC_LITERAL);
}
@ -815,18 +821,69 @@ public class WSDLModeler extends WSDLModelerBase {
QName body = VOID_BODYBLOCK;
QName opName = null;
Operation thatOp;
if (bb.hasNext()) {
body = bb.next().getName();
opName = uniqueBodyBlocks.get(body);
thatOp = uniqueBodyBlocks.get(body);
} else {
//there is no body block
body = VOID_BODYBLOCK;
opName = uniqueBodyBlocks.get(VOID_BODYBLOCK);
thatOp = uniqueBodyBlocks.get(VOID_BODYBLOCK);
}
if (opName != null) {
error(info.port, ModelerMessages.WSDLMODELER_NON_UNIQUE_BODY(info.port.getName(), info.operation.getName(), opName, body));
} else {
uniqueBodyBlocks.put(body, info.operation.getName());
if(thatOp != null){
if(options.isExtensionMode()){
warning(info.port, ModelerMessages.WSDLMODELER_NON_UNIQUE_BODY_WARNING(info.port.getName(), info.operation.getName(), thatOp.getName(), body));
}else{
error(info.port, ModelerMessages.WSDLMODELER_NON_UNIQUE_BODY_ERROR(info.port.getName(), info.operation.getName(), thatOp.getName(), body));
}
}else{
uniqueBodyBlocks.put(body, info.operation);
}
//Add additional headers
if (options.additionalHeaders) {
List<Parameter> additionalHeaders = new ArrayList<Parameter>();
if (inputMessage != null) {
for (MessagePart part : getAdditionHeaderParts(inputMessage, true)) {
QName name = part.getDescriptor();
JAXBType jaxbType = getJAXBType(part);
Block block = new Block(name, jaxbType, part);
Parameter param = ModelerUtils.createParameter(part.getName(), jaxbType, block);
additionalHeaders.add(param);
request.addHeaderBlock(block);
request.addParameter(param);
definitiveParameterList.add(param);
}
}
if (isRequestResponse && outputMessage != null) {
List<Parameter> outParams = new ArrayList<Parameter>();
for (MessagePart part : getAdditionHeaderParts(outputMessage, false)) {
QName name = part.getDescriptor();
JAXBType jaxbType = getJAXBType(part);
Block block = new Block(name, jaxbType, part);
Parameter param = ModelerUtils.createParameter(part.getName(), jaxbType, block);
param.setMode(Mode.OUT);
outParams.add(param);
response.addHeaderBlock(block);
response.addParameter(param);
}
for (Parameter outParam : outParams) {
for (Parameter inParam : additionalHeaders) {
if (inParam.getName().equals(outParam.getName()) &&
inParam.getBlock().getName().equals(outParam.getBlock().getName())) {
//it is INOUT
inParam.setMode(Mode.INOUT);
outParam.setMode(Mode.INOUT);
break;
}
}
if (outParam.isOUT()) {
definitiveParameterList.add(outParam);
}
}
}
}
// faults with duplicate names
@ -848,6 +905,7 @@ public class WSDLModeler extends WSDLModelerBase {
return info.operation;
}
private boolean validateParameterName(List<Parameter> params) {
if (options.isExtensionMode())
return true;
@ -1460,6 +1518,19 @@ public class WSDLModeler extends WSDLModelerBase {
return null;
}
private List<MessagePart> getAdditionHeaderParts(Message message, boolean isInput){
List<MessagePart> headerParts = new ArrayList<MessagePart>();
List<MessagePart> parts = message.getParts();
List<MessagePart> headers = getHeaderParts(isInput);
for(MessagePart part: headers){
if(parts.contains(part))
continue;
headerParts.add(part);
}
return headerParts;
}
private List<MessagePart> getHeaderPartsFromMessage(Message message, boolean isInput) {
List<MessagePart> headerParts = new ArrayList<MessagePart>();
Iterator<MessagePart> parts = message.parts();
@ -1490,19 +1561,6 @@ public class WSDLModeler extends WSDLModelerBase {
return null;
}
private List<MessagePart> getHeaderPartsNotFromMessage(Message message, boolean isInput) {
List<MessagePart> headerParts = new ArrayList<MessagePart>();
List<MessagePart> parts = message.getParts();
Iterator<MessagePart> headers = getHeaderParts(isInput).iterator();
while (headers.hasNext()) {
MessagePart part = headers.next();
if (!parts.contains(part)) {
headerParts.add(part);
}
}
return headerParts;
}
private List<MessagePart> getHeaderParts(boolean isInput) {
TWSDLExtensible ext;
if (isInput) {
@ -2247,6 +2305,10 @@ public class WSDLModeler extends WSDLModelerBase {
(QName) port.getProperty(
ModelProperties.PROPERTY_WSDL_PORT_TYPE_NAME);
PortType pt = (PortType) document.find(Kinds.PORT_TYPE, portTypeName);
//populate the portType map here. We should get rid of all these properties
// lets not do it as it may break NB
//TODO: clean all these stuff part of NB RFE
port.portTypes.put(portTypeName, pt);
JAXWSBinding jaxwsCust = (JAXWSBinding) getExtensionOfType(pt, JAXWSBinding.class);
if (jaxwsCust != null && jaxwsCust.getClassName() != null) {
CustomName name = jaxwsCust.getClassName();
@ -2271,7 +2333,7 @@ public class WSDLModeler extends WSDLModelerBase {
private void createJavaMethodForAsyncOperation(Port port, Operation operation,
JavaInterface intf) {
String candidateName = getJavaNameForOperation(operation);
JavaMethod method = new JavaMethod(candidateName, errReceiver);
JavaMethod method = new JavaMethod(candidateName, options, errReceiver);
Request request = operation.getRequest();
Iterator requestBodyBlocks = request.getBodyBlocks();
Block requestBlock =
@ -2338,7 +2400,7 @@ public class WSDLModeler extends WSDLModelerBase {
return;
}
String candidateName = getJavaNameForOperation(operation);
JavaMethod method = new JavaMethod(candidateName, errReceiver);
JavaMethod method = new JavaMethod(candidateName, options, errReceiver);
Request request = operation.getRequest();
Parameter returnParam = (Parameter) operation.getProperty(WSDL_RESULT_PARAMETER);
if (returnParam != null) {
@ -2718,7 +2780,7 @@ public class WSDLModeler extends WSDLModelerBase {
private void reportError(Entity entity,
String formattedMsg, Exception nestedException ) {
Locator locator = (entity == null)?NULL_LOCATOR:entity.getLocator();
Locator locator = (entity == null)?null:entity.getLocator();
SAXParseException e = new SAXParseException2( formattedMsg,
locator,

@ -288,23 +288,11 @@ public abstract class WSDLModelerBase implements Modeler {
private boolean validateMimeContentPartNames(List<MIMEContent> mimeContents) {
//validate mime:content(s) in the mime:part as per R2909
for (MIMEContent mimeContent : mimeContents) {
String mimeContnetPart = null;
String mimeContnetPart;
mimeContnetPart = getMimeContentPartName(mimeContent);
if(mimeContnetPart == null) {
mimeContnetPart = getMimeContentPartName(mimeContent);
if(mimeContnetPart == null) {
warning(mimeContent, ModelerMessages.MIMEMODELER_INVALID_MIME_CONTENT_MISSING_PART_ATTRIBUTE(info.operation.getName().getLocalPart()));
return false;
}
}else {
String newMimeContnetPart = getMimeContentPartName(mimeContent);
if(newMimeContnetPart == null) {
warning(mimeContent, ModelerMessages.MIMEMODELER_INVALID_MIME_CONTENT_MISSING_PART_ATTRIBUTE(info.operation.getName().getLocalPart()));
return false;
}else if(!newMimeContnetPart.equals(mimeContnetPart)) {
//throw new ModelerException("mimemodeler.invalidMimeContent.differentPart");
warning(mimeContent, ModelerMessages.MIMEMODELER_INVALID_MIME_CONTENT_DIFFERENT_PART());
return false;
}
warning(mimeContent, ModelerMessages.MIMEMODELER_INVALID_MIME_CONTENT_MISSING_PART_ATTRIBUTE(info.operation.getName().getLocalPart()));
return false;
}
}
return true;
@ -386,6 +374,9 @@ public abstract class WSDLModelerBase implements Modeler {
protected String getRequestNamespaceURI(SOAPBody body) {
String namespaceURI = body.getNamespace();
if (namespaceURI == null) {
if(options.isExtensionMode()){
return info.modelPort.getName().getNamespaceURI();
}
// the WSDL document is invalid
// at least, that's my interpretation of section 3.5 of the WSDL 1.1 spec!
error(body, ModelerMessages.WSDLMODELER_INVALID_BINDING_OPERATION_INPUT_SOAP_BODY_MISSING_NAMESPACE(info.bindingOperation.getName()));
@ -396,6 +387,9 @@ public abstract class WSDLModelerBase implements Modeler {
protected String getResponseNamespaceURI(SOAPBody body) {
String namespaceURI = body.getNamespace();
if (namespaceURI == null) {
if(options.isExtensionMode()){
return info.modelPort.getName().getNamespaceURI();
}
// the WSDL document is invalid
// at least, that's my interpretation of section 3.5 of the WSDL 1.1 spec!
error(body, ModelerMessages.WSDLMODELER_INVALID_BINDING_OPERATION_OUTPUT_SOAP_BODY_MISSING_NAMESPACE(info.bindingOperation.getName()));
@ -703,14 +697,14 @@ public abstract class WSDLModelerBase implements Modeler {
if(numPasses > 1)
return;
if(entity == null)
errReceiver.warning(NULL_LOCATOR, message);
errReceiver.warning(null, message);
else
errReceiver.warning(entity.getLocator(), message);
}
protected void error(Entity entity, String message){
if(entity == null)
errReceiver.error(NULL_LOCATOR, message);
errReceiver.error(null, message);
else
errReceiver.error(entity.getLocator(), message);
throw new AbortException();

@ -80,8 +80,10 @@ public class ClassNameCollector extends ExtendedModelVisitor
protected void preVisit(Service service) throws Exception {
registerClassName(
((JavaInterface)service.getJavaInterface()).getName());
registerClassName(
((JavaInterface)service.getJavaInterface()).getImpl());
// We don't generate Impl classes, commenting it out.
// Otherwise, it would cause naming conflicts
//registerClassName(
// ((JavaInterface)service.getJavaInterface()).getImpl());
}
protected void processPort11x(Port port){

@ -38,6 +38,30 @@ public final class GeneratorMessages {
private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.tools.internal.ws.resources.generator");
private final static Localizer localizer = new Localizer();
public static Localizable localizableGENERATOR_SERVICE_CLASS_ALREADY_EXIST(Object arg0, Object arg1) {
return messageFactory.getMessage("generator.service.classAlreadyExist", arg0, arg1);
}
/**
* Could not generate Service, class: {0} already exists. Rename wsdl:Service "{1}" using JAX-WS customization
*
*/
public static String GENERATOR_SERVICE_CLASS_ALREADY_EXIST(Object arg0, Object arg1) {
return localizer.localize(localizableGENERATOR_SERVICE_CLASS_ALREADY_EXIST(arg0, arg1));
}
public static Localizable localizableGENERATOR_SEI_CLASS_ALREADY_EXIST(Object arg0, Object arg1) {
return messageFactory.getMessage("generator.sei.classAlreadyExist", arg0, arg1);
}
/**
* Could not generate SEI, class: {0} already exists. Rename wsdl:portType "{1}" using JAX-WS customization
*
*/
public static String GENERATOR_SEI_CLASS_ALREADY_EXIST(Object arg0, Object arg1) {
return localizer.localize(localizableGENERATOR_SEI_CLASS_ALREADY_EXIST(arg0, arg1));
}
public static Localizable localizableGENERATOR_NESTED_GENERATOR_ERROR(Object arg0) {
return messageFactory.getMessage("generator.nestedGeneratorError", arg0);
}

@ -255,18 +255,6 @@ public final class ModelMessages {
return localizer.localize(localizableMODEL_SAXPARSER_EXCEPTION(arg0, arg1));
}
public static Localizable localizable_002F_002F_JAXWS() {
return messageFactory.getMessage("//JAXWS");
}
/**
* 2.0
*
*/
public static String _002F_002F_JAXWS() {
return localizer.localize(localizable_002F_002F_JAXWS());
}
public static Localizable localizableMODEL_DUPLICATE_FAULTMESSAGE(Object arg0) {
return messageFactory.getMessage("model.duplicate.faultmessage", arg0);
}
@ -536,7 +524,9 @@ public final class ModelMessages {
}
/**
* Failed to generate Java signature: duplicate parameter names {0}. Use JAXWS binding customization to rename the wsdl:part "{1}"
* Failed to generate Java signature: duplicate parameter name "{0}". Try one of these
* 1. Use JAXWS binding customization to rename the wsdl:part "{1}"
* 2. Run wsimport with -extension switch.
*
*/
public static String MODEL_PARAMETER_NOTUNIQUE(Object arg0, Object arg1) {
@ -639,6 +629,21 @@ public final class ModelMessages {
return localizer.localize(localizableMODEL_IMPORTER_INVALID_LITERAL(arg0));
}
public static Localizable localizableMODEL_PARAMETER_NOTUNIQUE_WRAPPER(Object arg0, Object arg1) {
return messageFactory.getMessage("model.parameter.notunique.wrapper", arg0, arg1);
}
/**
* Failed to generate Java signature: duplicate parameter name "{0}". Try one of these
* 1. Use JAXWS binding customization to rename the wsdl:part "{1}"
* 2. Run wsimport with -extension switch.
* 3. This is wrapper style operation, to resolve parameter name conflict, you can also try disabling wrapper style by using <jaxws:enableWrapperStyle>false</jaxws:enableWrapperStyle> wsdl customization.
*
*/
public static String MODEL_PARAMETER_NOTUNIQUE_WRAPPER(Object arg0, Object arg1) {
return localizer.localize(localizableMODEL_PARAMETER_NOTUNIQUE_WRAPPER(arg0, arg1));
}
public static Localizable localizableMODEL_SCHEMA_NOT_IMPLEMENTED(Object arg0) {
return messageFactory.getMessage("model.schema.notImplemented", arg0);
}

@ -331,7 +331,7 @@ public final class ModelerMessages {
}
/**
* Schema descriptor {0} in message part "{1}" could not be bound to Java!
* Schema descriptor {0} in message part "{1}" is not defined and could not be bound to Java. Perhaps the schema descriptor {0} is not defined in the schema imported/included in the WSDL. You can either add such imports/includes or run wsimport and provide the schema location using -b switch.
*
*/
public static String WSDLMODELER_JAXB_JAVATYPE_NOTFOUND(Object arg0, Object arg1) {
@ -590,6 +590,18 @@ public final class ModelerMessages {
return localizer.localize(localizableWSDLMODELER_WARNING_IGNORING_OPERATION_CANNOT_HANDLE_BODY_PARTS_ATTRIBUTE(arg0));
}
public static Localizable localizableWSDLMODELER_NON_UNIQUE_BODY_ERROR(Object arg0, Object arg1, Object arg2, Object arg3) {
return messageFactory.getMessage("wsdlmodeler.nonUnique.body.error", arg0, arg1, arg2, arg3);
}
/**
* Non unique body parts! In a port, as per BP 1.1 R2710 operations must have unique operation signaure on the wire for successful dispatch. In port {0}, Operations "{1}" and "{2}" have the same request body block {3}. Try running wsimport with -extension switch, runtime will try to dispatch using SOAPAction
*
*/
public static String WSDLMODELER_NON_UNIQUE_BODY_ERROR(Object arg0, Object arg1, Object arg2, Object arg3) {
return localizer.localize(localizableWSDLMODELER_NON_UNIQUE_BODY_ERROR(arg0, arg1, arg2, arg3));
}
public static Localizable localizableWSDLMODELER_WARNING_IGNORING_SOAP_BINDING_MIXED_STYLE(Object arg0) {
return messageFactory.getMessage("wsdlmodeler.warning.ignoringSOAPBinding.mixedStyle", arg0);
}
@ -818,18 +830,6 @@ public final class ModelerMessages {
return localizer.localize(localizableWSDLMODELER_INVALID_BINDING_OPERATION_MULTIPLE_MATCHING_OPERATIONS(arg0, arg1));
}
public static Localizable localizableWSDLMODELER_NON_UNIQUE_BODY(Object arg0, Object arg1, Object arg2, Object arg3) {
return messageFactory.getMessage("wsdlmodeler.nonUnique.body", arg0, arg1, arg2, arg3);
}
/**
* Non unique body parts! In a port, operations must have unique operation signaure on the wire for successful dispatch. In port {0}, Operations "{1}" and "{2}" have the same request body block {3}
*
*/
public static String WSDLMODELER_NON_UNIQUE_BODY(Object arg0, Object arg1, Object arg2, Object arg3) {
return localizer.localize(localizableWSDLMODELER_NON_UNIQUE_BODY(arg0, arg1, arg2, arg3));
}
public static Localizable localizableWSDLMODELER_WARNING_IGNORING_HEADER_CANT_RESOLVE_MESSAGE(Object arg0, Object arg1) {
return messageFactory.getMessage("wsdlmodeler.warning.ignoringHeader.cant.resolve.message", arg0, arg1);
}
@ -1238,6 +1238,18 @@ public final class ModelerMessages {
return localizer.localize(localizableWSDLMODELER_WARNING_IGNORING_HEADER_FAULT_NOT_FOUND(arg0, arg1, arg2));
}
public static Localizable localizableWSDLMODELER_NON_UNIQUE_BODY_WARNING(Object arg0, Object arg1, Object arg2, Object arg3) {
return messageFactory.getMessage("wsdlmodeler.nonUnique.body.warning", arg0, arg1, arg2, arg3);
}
/**
* Non unique body parts! In a port, as per BP 1.1 R2710 operations must have unique operation signaure on the wire for successful dispatch. In port {0}, Operations "{1}" and "{2}" have the same request body block {3}. Method dispatching may fail, runtime will try to dispatch using SOAPAction
*
*/
public static String WSDLMODELER_NON_UNIQUE_BODY_WARNING(Object arg0, Object arg1, Object arg2, Object arg3) {
return localizer.localize(localizableWSDLMODELER_NON_UNIQUE_BODY_WARNING(arg0, arg1, arg2, arg3));
}
public static Localizable localizableWSDLMODELER_INVALID_OPERATION_JAVA_RESERVED_WORD_NOT_ALLOWED_WRAPPER_STYLE(Object arg0, Object arg1, Object arg2) {
return messageFactory.getMessage("wsdlmodeler.invalid.operation.javaReservedWordNotAllowed.wrapperStyle", arg0, arg1, arg2);
}

@ -62,6 +62,30 @@ public final class WscompileMessages {
return localizer.localize(localizableWSGEN_CLASS_NOT_FOUND(arg0));
}
public static Localizable localizableWSIMPORT_HTTP_REDIRECT(Object arg0, Object arg1) {
return messageFactory.getMessage("wsimport.httpRedirect", arg0, arg1);
}
/**
* Server returned HTTP Status code: "{0}", retrying with "{1}"
*
*/
public static String WSIMPORT_HTTP_REDIRECT(Object arg0, Object arg1) {
return localizer.localize(localizableWSIMPORT_HTTP_REDIRECT(arg0, arg1));
}
public static Localizable localizableWSIMPORT_AUTH_INFO_NEEDED(Object arg0, Object arg1, Object arg2) {
return messageFactory.getMessage("wsimport.authInfoNeeded", arg0, arg1, arg2);
}
/**
* {0}, "{1}" needs authorization, please provide authorization file with read access at {2} or use -Xauthfile to give the authorization file and on each line provide authorization information using this format : http[s]://user:password@host:port//<url-path>
*
*/
public static String WSIMPORT_AUTH_INFO_NEEDED(Object arg0, Object arg1, Object arg2) {
return localizer.localize(localizableWSIMPORT_AUTH_INFO_NEEDED(arg0, arg1, arg2));
}
public static Localizable localizableWSGEN_USAGE_EXAMPLES() {
return messageFactory.getMessage("wsgen.usage.examples");
}
@ -142,6 +166,27 @@ public final class WscompileMessages {
return localizer.localize(localizableWSIMPORT_MISSING_FILE());
}
public static Localizable localizableWSIMPORT_USAGE_EXTENSIONS() {
return messageFactory.getMessage("wsimport.usage.extensions");
}
/**
*
* Extensions:
* -XadditionalHeaders map headers not bound to request or response message to
* Java method parameters
* -Xauthfile file to carry authorization information in the format
* http://username:password@example.org/stock?wsdl
* -Xdebug print debug information
* -Xno-addressing-databinding enable binding of W3C EndpointReferenceType to Java
* -Xnocompile do not compile generated Java files
*
*
*/
public static String WSIMPORT_USAGE_EXTENSIONS() {
return localizer.localize(localizableWSIMPORT_USAGE_EXTENSIONS());
}
public static Localizable localizableWSIMPORT_USAGE(Object arg0) {
return messageFactory.getMessage("wsimport.usage", arg0);
}
@ -221,8 +266,8 @@ public final class WscompileMessages {
* -p <pkg> specifies the target package
* -quiet suppress wsimport output
* -s <directory> specify where to place generated source files
* -target <version> generate code as per the given JAXWS specification version.
* version 2.0 will generate compliant code for JAXWS 2.0 spec.
* -target <version> generate code as per the given JAXWS spec version
* e.g. 2.0 will generate compliant code for JAXWS 2.0 spec
* -verbose output messages about what the compiler is doing
* -version print version information
* -wsdllocation <location> @WebServiceClient.wsdlLocation value
@ -245,6 +290,44 @@ public final class WscompileMessages {
return localizer.localize(localizableWSCOMPILE_ERROR(arg0));
}
public static Localizable localizableWSGEN_PROTOCOL_WITHOUT_EXTENSION(Object arg0) {
return messageFactory.getMessage("wsgen.protocol.without.extension", arg0);
}
/**
* The optional protocol "{0}" must be used in conjunction with the "-extension" option.
*
*/
public static String WSGEN_PROTOCOL_WITHOUT_EXTENSION(Object arg0) {
return localizer.localize(localizableWSGEN_PROTOCOL_WITHOUT_EXTENSION(arg0));
}
public static Localizable localizableWSIMPORT_COMPILING_CODE() {
return messageFactory.getMessage("wsimport.CompilingCode");
}
/**
*
* compiling code...
*
*
*/
public static String WSIMPORT_COMPILING_CODE() {
return localizer.localize(localizableWSIMPORT_COMPILING_CODE());
}
public static Localizable localizableWSIMPORT_READING_AUTH_FILE(Object arg0) {
return messageFactory.getMessage("wsimport.readingAuthFile", arg0);
}
/**
* Trying to read authorization file : "{0}"...
*
*/
public static String WSIMPORT_READING_AUTH_FILE(Object arg0) {
return localizer.localize(localizableWSIMPORT_READING_AUTH_FILE(arg0));
}
public static Localizable localizableWSGEN_NO_WEBSERVICES_CLASS(Object arg0) {
return messageFactory.getMessage("wsgen.no.webservices.class", arg0);
}
@ -281,6 +364,18 @@ public final class WscompileMessages {
return localizer.localize(localizableWSCOMPILE_INFO(arg0));
}
public static Localizable localizableWSIMPORT_MAX_REDIRECT_ATTEMPT() {
return messageFactory.getMessage("wsimport.maxRedirectAttempt");
}
/**
* Can not get a WSDL maximum number of redirects(5) reached
*
*/
public static String WSIMPORT_MAX_REDIRECT_ATTEMPT() {
return localizer.localize(localizableWSIMPORT_MAX_REDIRECT_ATTEMPT());
}
public static Localizable localizableWSIMPORT_WARNING_MESSAGE(Object arg0) {
return messageFactory.getMessage("wsimport.WarningMessage", arg0);
}
@ -324,6 +419,7 @@ public final class WscompileMessages {
/**
* generating code...
*
*
*/
public static String WSIMPORT_GENERATING_CODE() {
return localizer.localize(localizableWSIMPORT_GENERATING_CODE());
@ -389,6 +485,30 @@ public final class WscompileMessages {
return localizer.localize(localizableWSIMPORT_NO_SUCH_JAXB_OPTION(arg0));
}
public static Localizable localizableWSIMPORT_AUTH_FILE_NOT_FOUND(Object arg0, Object arg1) {
return messageFactory.getMessage("wsimport.authFileNotFound", arg0, arg1);
}
/**
* Authorization file "{0}" not found. If the WSDL access needs Basic Authentication, please provide authorization file with read access at {1} or use -Xauthfile to give the authorization file and on each line provide authorization information using this format : http[s]://user:password@host:port//<url-path>
*
*/
public static String WSIMPORT_AUTH_FILE_NOT_FOUND(Object arg0, Object arg1) {
return localizer.localize(localizableWSIMPORT_AUTH_FILE_NOT_FOUND(arg0, arg1));
}
public static Localizable localizableWSIMPORT_DEBUG_MESSAGE(Object arg0) {
return messageFactory.getMessage("wsimport.DebugMessage", arg0);
}
/**
* [DEBUG] {0}
*
*/
public static String WSIMPORT_DEBUG_MESSAGE(Object arg0) {
return localizer.localize(localizableWSIMPORT_DEBUG_MESSAGE(arg0));
}
public static Localizable localizableWSGEN_COULD_NOT_CREATE_FILE(Object arg0) {
return messageFactory.getMessage("wsgen.could.not.create.file", arg0);
}
@ -413,8 +533,8 @@ public final class WscompileMessages {
return localizer.localize(localizableWSGEN_WSDL_ARG_NO_GENWSDL(arg0));
}
public static Localizable localizableWSGEN_HELP(Object arg0) {
return messageFactory.getMessage("wsgen.help", arg0);
public static Localizable localizableWSGEN_HELP(Object arg0, Object arg1, Object arg2) {
return messageFactory.getMessage("wsgen.help", arg0, arg1, arg2);
}
/**
@ -436,18 +556,20 @@ public final class WscompileMessages {
* -s <directory> specify where to place generated source files
* -verbose output messages about what the compiler is doing
* -version print version information
* -wsdl[:protocol] generate a WSDL file. The protocol is optional.
* Valid protocols are soap1.1 and Xsoap1.2, the default
* is soap1.1. Xsoap1.2 is not standard and can only be
* used in conjunction with the -extension option
* -wsdl[:protocol] generate a WSDL file. The protocol is optional.
* Valid protocols are {1},
* the default is soap1.1.
* The non stanadard protocols {2}
* can only be used in conjunction with the
* -extension option.
* -servicename <name> specify the Service name to use in the generated WSDL
* Used in conjunction with the -wsdl option.
* -portname <name> specify the Port name to use in the generated WSDL
* Used in conjunction with the -wsdl option.
*
*/
public static String WSGEN_HELP(Object arg0) {
return localizer.localize(localizableWSGEN_HELP(arg0));
public static String WSGEN_HELP(Object arg0, Object arg1, Object arg2) {
return localizer.localize(localizableWSGEN_HELP(arg0, arg1, arg2));
}
public static Localizable localizableWSIMPORT_INFO_MESSAGE(Object arg0) {
@ -474,6 +596,18 @@ public final class WscompileMessages {
return localizer.localize(localizableWSGEN_SOAP_12_WITHOUT_EXTENSION());
}
public static Localizable localizableWSIMPORT_ILLEGAL_AUTH_INFO(Object arg0) {
return messageFactory.getMessage("wsimport.ILLEGAL_AUTH_INFO", arg0);
}
/**
* "{0}" is not a valid authorization information format. The format is http[s]://user:password@host:port//<url-path>.
*
*/
public static String WSIMPORT_ILLEGAL_AUTH_INFO(Object arg0) {
return localizer.localize(localizableWSIMPORT_ILLEGAL_AUTH_INFO(arg0));
}
public static Localizable localizableWSCOMPILE_COMPILATION_FAILED() {
return messageFactory.getMessage("wscompile.compilationFailed");
}
@ -546,6 +680,18 @@ public final class WscompileMessages {
return localizer.localize(localizableWSIMPORT_NO_WSDL(arg0));
}
public static Localizable localizableWSIMPORT_AUTH_INFO_LINENO(Object arg0, Object arg1) {
return messageFactory.getMessage("wsimport.AUTH_INFO_LINENO", arg0, arg1);
}
/**
* "line {0} of {1}
*
*/
public static String WSIMPORT_AUTH_INFO_LINENO(Object arg0, Object arg1) {
return localizer.localize(localizableWSIMPORT_AUTH_INFO_LINENO(arg0, arg1));
}
public static Localizable localizableWSGEN_USAGE(Object arg0) {
return messageFactory.getMessage("wsgen.usage", arg0);
}

@ -55,37 +55,39 @@ public final class WsdlMessages {
}
/**
* wsdl:binding "{0}" referenced by wsdl:port "{1}", but its not found in the wsdl
* wsdl:binding "{0}" referenced by wsdl:port "{1}", but it's not found in the wsdl
*
*/
public static String ENTITY_NOT_FOUND_BINDING(Object arg0, Object arg1) {
return localizer.localize(localizableENTITY_NOT_FOUND_BINDING(arg0, arg1));
}
public static Localizable localizablePARSING_UNABLE_TO_GET_METADATA(Object arg0, Object arg1) {
return messageFactory.getMessage("parsing.unableToGetMetadata", arg0, arg1);
}
/**
* {0}
*
* {1}
*
*/
public static String PARSING_UNABLE_TO_GET_METADATA(Object arg0, Object arg1) {
return localizer.localize(localizablePARSING_UNABLE_TO_GET_METADATA(arg0, arg1));
}
public static Localizable localizablePARSING_PARSE_FAILED() {
return messageFactory.getMessage("Parsing.ParseFailed");
}
/**
* Failed to parse the WSDL.
* Failed to parse the WSDL.
*
*/
public static String PARSING_PARSE_FAILED() {
return localizer.localize(localizablePARSING_PARSE_FAILED());
}
public static Localizable localizablePARSING_UNABLE_TO_GET_METADATA(Object arg0) {
return messageFactory.getMessage("parsing.unableToGetMetadata", arg0);
}
/**
* Unable to get Metadata from: {0}
*
*/
public static String PARSING_UNABLE_TO_GET_METADATA(Object arg0) {
return localizer.localize(localizablePARSING_UNABLE_TO_GET_METADATA(arg0));
}
public static Localizable localizableVALIDATION_INVALID_PREFIX(Object arg0) {
return messageFactory.getMessage("validation.invalidPrefix", arg0);
}
@ -151,7 +153,7 @@ public final class WsdlMessages {
}
/**
* wsdl:portType "{0}" referenced by wsdl:binding "{1}", but its not found in the wsdl
* wsdl:portType "{0}" referenced by wsdl:binding "{1}", but it's not found in the wsdl
*
*/
public static String ENTITY_NOT_FOUND_PORT_TYPE(Object arg0, Object arg1) {
@ -199,7 +201,7 @@ public final class WsdlMessages {
}
/**
* Both jaxws:version and version are present
* Both jaxws:version and version are present
*
*/
public static String INTERNALIZER_TWO_VERSION_ATTRIBUTES() {
@ -212,7 +214,7 @@ public final class WsdlMessages {
/**
* Invalid WSDL, duplicate parts in a wsdl:message is not allowed.
* wsdl:message {0} has duplicated part name: "{1}"
* wsdl:message {0} has a duplicated part name: "{1}"
*
*/
public static String VALIDATION_DUPLICATE_PART_NAME(Object arg0, Object arg1) {
@ -248,7 +250,7 @@ public final class WsdlMessages {
}
/**
* found unexpected non whitespace text: "{0}"
* found unexpected non-whitespace text: "{0}"
*
*/
public static String PARSING_NON_WHITESPACE_TEXT_FOUND(Object arg0) {
@ -260,7 +262,7 @@ public final class WsdlMessages {
}
/**
* No target found for the wsdlLocation: {0}
* No target found for the wsdlLocation: {0}
*
*/
public static String INTERNALIZER_TARGET_NOT_FOUND(Object arg0) {
@ -344,7 +346,7 @@ public final class WsdlMessages {
}
/**
* JAXWS version attribute must be "2.0"
* JAXWS version attribute must be "2.0"
*
*/
public static String INTERNALIZER_INCORRECT_VERSION() {
@ -399,6 +401,20 @@ public final class WsdlMessages {
return localizer.localize(localizablePARSING_INCORRECT_ROOT_ELEMENT(arg0, arg1, arg2, arg3));
}
public static Localizable localizableTRY_WITH_MEX(Object arg0) {
return messageFactory.getMessage("try.with.mex", arg0);
}
/**
* {0}
*
* retrying with MEX...
*
*/
public static String TRY_WITH_MEX(Object arg0) {
return localizer.localize(localizableTRY_WITH_MEX(arg0));
}
public static Localizable localizableVALIDATION_MISSING_REQUIRED_ATTRIBUTE(Object arg0, Object arg1) {
return messageFactory.getMessage("validation.missingRequiredAttribute", arg0, arg1);
}
@ -440,7 +456,7 @@ public final class WsdlMessages {
}
/**
* not an external binding file. The root element must be '{'http://java.sun.com/xml/ns/jaxws'}'bindings but it is '{'{0}'}'{1}
* not an external binding file. The root element must be '{'http://java.sun.com/xml/ns/jaxws'}'bindings but it is '{'{0}'}'{1}
*
*/
public static String PARSER_NOT_A_BINDING_FILE(Object arg0, Object arg1) {
@ -548,7 +564,7 @@ public final class WsdlMessages {
}
/**
* Unable to parse "{0}" : {1}
* Unable to parse "{0}" : {1}
*
*/
public static String ABSTRACT_REFERENCE_FINDER_IMPL_UNABLE_TO_PARSE(Object arg0, Object arg1) {
@ -596,7 +612,7 @@ public final class WsdlMessages {
}
/**
* XPath evaluation of "{0}" results in empty target node
* XPath evaluation of "{0}" results in an empty target node
*
*/
public static String INTERNALIZER_X_PATH_EVALUATES_TO_NO_TARGET(Object arg0) {
@ -620,7 +636,7 @@ public final class WsdlMessages {
}
/**
* Ignoring customization: "{0}", it has no namespace. It must belong to the customization namespace.
* Ignoring customization: "{0}", because it has no namespace. It must belong to the customization namespace.
*
*/
public static String INVALID_CUSTOMIZATION_NAMESPACE(Object arg0) {
@ -687,28 +703,28 @@ public final class WsdlMessages {
return localizer.localize(localizableVALIDATION_INCORRECT_TARGET_NAMESPACE(arg0, arg1));
}
public static Localizable localizableENTITY_NOT_FOUND_BY_Q_NAME(Object arg0, Object arg1) {
return messageFactory.getMessage("entity.notFoundByQName", arg0, arg1);
public static Localizable localizableENTITY_NOT_FOUND_BY_Q_NAME(Object arg0, Object arg1, Object arg2) {
return messageFactory.getMessage("entity.notFoundByQName", arg0, arg1, arg2);
}
/**
* invalid entity name: "{0}" (in namespace: "{1}")
* {0} "{1}" not found in the wsdl: {2}
*
*/
public static String ENTITY_NOT_FOUND_BY_Q_NAME(Object arg0, Object arg1) {
return localizer.localize(localizableENTITY_NOT_FOUND_BY_Q_NAME(arg0, arg1));
public static String ENTITY_NOT_FOUND_BY_Q_NAME(Object arg0, Object arg1, Object arg2) {
return localizer.localize(localizableENTITY_NOT_FOUND_BY_Q_NAME(arg0, arg1, arg2));
}
public static Localizable localizableINVALID_WSDL(Object arg0) {
return messageFactory.getMessage("invalid.wsdl", arg0);
public static Localizable localizableINVALID_WSDL(Object arg0, Object arg1, Object arg2, Object arg3) {
return messageFactory.getMessage("invalid.wsdl", arg0, arg1, arg2, arg3);
}
/**
* "{0} does not look like a WSDL document, retrying with MEX..."
* Invalid WSDL {0}, expected {1} found {2} at (line {3})
*
*/
public static String INVALID_WSDL(Object arg0) {
return localizer.localize(localizableINVALID_WSDL(arg0));
public static String INVALID_WSDL(Object arg0, Object arg1, Object arg2, Object arg3) {
return localizer.localize(localizableINVALID_WSDL(arg0, arg1, arg2, arg3));
}
public static Localizable localizableVALIDATION_UNSUPPORTED_SCHEMA_FEATURE(Object arg0) {
@ -788,7 +804,7 @@ public final class WsdlMessages {
}
/**
* Target node is not an element
* Target node is not an element
*
*/
public static String INTERNALIZER_TARGET_NOT_AN_ELEMENT() {
@ -860,7 +876,7 @@ public final class WsdlMessages {
}
/**
* Not a WSI-BP compliant WSDL (R2001, R2004). xsd:import must not import XML Schema definition emmbedded inline within WSDLDocument.
* Not a WSI-BP compliant WSDL (R2001, R2004). xsd:import must not import XML Schema definitions embedded inline within the WSDL document.
*
*/
public static String WARNING_WSI_R_2004() {
@ -872,7 +888,7 @@ public final class WsdlMessages {
}
/**
* Not a WSI-BP compliant WSDL (R2003). xsd:import must only be used inside xsd:schema element.
* Not a WSI-BP compliant WSDL (R2003). xsd:import must only be used inside xsd:schema elements.
*
*/
public static String WARNING_WSI_R_2003() {
@ -884,7 +900,7 @@ public final class WsdlMessages {
}
/**
* Not a WSI-BP compliant WSDL (R2002). wsdl:import must not be used to import XML Schema embedded in the WSDL document. Expected wsdl namesapce: {0}, found: {1}
* Not a WSI-BP compliant WSDL (R2002). wsdl:import must not be used to import XML Schema embedded in the WSDL document. Expected wsdl namespace: {0}, found: {1}
*
*/
public static String WARNING_WSI_R_2002(Object arg0, Object arg1) {
@ -903,16 +919,28 @@ public final class WsdlMessages {
return localizer.localize(localizablePARSING_ELEMENT_OR_TYPE_REQUIRED(arg0));
}
public static Localizable localizableWARNING_WSI_R_2001(Object arg0) {
return messageFactory.getMessage("warning.wsi.r2001", arg0);
public static Localizable localizableWARNING_WSI_R_2001() {
return messageFactory.getMessage("warning.wsi.r2001");
}
/**
* Not a WSI-BP compliant WSDL (R2001, R2002). wsdl:import must only import WSDL document. Its trying to import: "{0}"
* Not a WSI-BP compliant WSDL (R2001, R2002). wsdl:import must import only WSDL documents. It's trying to import: "{0}"
*
*/
public static String WARNING_WSI_R_2001(Object arg0) {
return localizer.localize(localizableWARNING_WSI_R_2001(arg0));
public static String WARNING_WSI_R_2001() {
return localizer.localize(localizableWARNING_WSI_R_2001());
}
public static Localizable localizableFILE_NOT_FOUND(Object arg0) {
return messageFactory.getMessage("file.not.found", arg0);
}
/**
* {0} is unreachable
*
*/
public static String FILE_NOT_FOUND(Object arg0) {
return localizer.localize(localizableFILE_NOT_FOUND(arg0));
}
public static Localizable localizableVALIDATION_INVALID_SIMPLE_TYPE_IN_ELEMENT(Object arg0, Object arg1) {
@ -944,13 +972,27 @@ public final class WsdlMessages {
}
/**
* JAXWS version attribute must be present
* JAXWS version attribute must be present
*
*/
public static String INTERNALIZER_VERSION_NOT_PRESENT() {
return localizer.localize(localizableINTERNALIZER_VERSION_NOT_PRESENT());
}
public static Localizable localizableFAILED_NOSERVICE(Object arg0) {
return messageFactory.getMessage("failed.noservice", arg0);
}
/**
* failed.noservice=Could not find wsdl:service in the provided WSDL(s):
*
* {0} At least one WSDL with at least one service definition needs to be provided.
*
*/
public static String FAILED_NOSERVICE(Object arg0) {
return localizer.localize(localizableFAILED_NOSERVICE(arg0));
}
public static Localizable localizablePARSING_TOO_MANY_ELEMENTS(Object arg0, Object arg1, Object arg2) {
return messageFactory.getMessage("parsing.tooManyElements", arg0, arg1, arg2);
}
@ -968,7 +1010,7 @@ public final class WsdlMessages {
}
/**
* "{0}" is not a part of this compilation. Is this a mistake for "{1}"?
* "{0}" is not a part of this compilation. Is this a mistake for "{1}"?
*
*/
public static String INTERNALIZER_INCORRECT_SCHEMA_REFERENCE(Object arg0, Object arg1) {

@ -25,4 +25,3 @@
configuration.invalidElement=invalid element \"{2}\" in file \"{0}\" (line {1})
configuration.notBindingFile=Ignoring: binding file "\"{0}\". It is not a jaxws or a jaxb binding file.

@ -32,4 +32,5 @@ generator.internal.error.should.not.happen=internal error (should not happen): {
#IndentingWriter
generator.indentingwriter.charset.cantencode=WSDL has some characters which native java encoder can''t encode: \"{0}\"
generator.sei.classAlreadyExist=Could not generate SEI, class: {0} already exists. Rename wsdl:portType \"{1}\" using JAX-WS customization
generator.service.classAlreadyExist=Could not generate Service, class: {0} already exists. Rename wsdl:Service \"{1}\" using JAX-WS customization

@ -29,4 +29,3 @@
javacompiler.classpath.error={0} is not available in the classpath, requires Sun's JDK version 5.0 or latter.
javacompiler.nosuchmethod.error=There is no such method {0} available, requires Sun's JDK version 5.0 or latter.
javacompiler.error=error : {0}.

@ -58,7 +58,6 @@ model.schema.invalidWildcard.allCompositor=xsd:all compositor not supported for
model.uniqueness=uniqueness constraint violation
model.part.notUnique=parts in wsdl:message \"{0}\", reference \"{1}\", they must reference unique global elements.
model.parameter.notunique=Failed to generate Java signature: duplicate parameter names {0}. Use JAXWS binding customization to rename the wsdl:part \"{1}\"
model.exception.notunique=Failed to generate Java signature: duplicate exception names {0}. Use JAXWS binding customization to rename the wsdl:part \"{1}\"
model.uniqueness.javastructuretype=uniqueness constraint violation, duplicate member \"{0}\" added to JavaStructureType \"{1}\"
model.parent.type.already.set=parent of type \"{0}\" already set to \"{1}\", new value = \"{2}\"
@ -78,15 +77,16 @@ model.arraywrapper.no.parent=LiteralArrayWrapper cannot have a parent type
model.arraywrapper.no.subtypes=LiteralArrayWrapper cannot have subtypes
model.arraywrapper.no.content.member=LiteralArrayWrapper cannot have a content member
model.complexType.simpleContent.reservedName=invalid attribute name: "_value" in complexType: \"{0}\", _value is JAXWS reserved name, this name is generated in the generated javabean class to hold content value in the generated javabean class for complexType/simpleContent.
model.parameter.notunique.wrapper=Failed to generate Java signature: duplicate parameter name \"{0}\". Try one of these\n\t1. Use JAXWS binding customization to rename the wsdl:part \"{1}\"\n\t2. Run wsimport with -extension switch.\n\t3. This is wrapper style operation, to resolve parameter name conflict, you can also try disabling wrapper style by using <jaxws:enableWrapperStyle>false</jaxws:enableWrapperStyle> wsdl customization.
model.parameter.notunique=Failed to generate Java signature: duplicate parameter name \"{0}\". Try one of these\n\t1. Use JAXWS binding customization to rename the wsdl:part \"{1}\"\n\t2. Run wsimport with -extension switch.
//JAXWS 2.0
#JAXWS 2.0
model.schema.elementNotFound=Element \"{0}\" not found.
model.schema.jaxbException.message="{0}"
model.saxparser.exception:{0}\n{1}
ConsoleErrorReporter.UnknownLocation = \
unknown location
unknown location
ConsoleErrorReporter.LineXOfY = \
\ \ line {0} of {1}
\ \ line {0} of {1}

@ -65,9 +65,9 @@ wsdlmodeler.warning.noServiceDefinitionsFound=WSDL document does not define any
wsdlmodeler.warning.noPortsInService=Service \"{0}\" does not contain any usable ports. try running wsimport with -extension switch.
wsdlmodeler.warning.noOperationsInPort=Port \"{0}\" does not contain any usable operations
wsdlmodeler.warning.ignoringNonSOAPPort=ignoring port \"{0}\": not a standard SOAP port. try running wsimport with -extension switch.
wsdlmodeler.warning.nonSOAPPort=port \"{0}\": not a standard SOAP port. The generated artifacts may not work with JAXWS runtime.
wsdlmodeler.warning.nonSOAPPort=port \"{0}\": not a standard SOAP port. The generated artifacts may not work with JAXWS runtime.
wsdlmodeler.warning.ignoringNonSOAPPort.noAddress=ignoring port \"{0}\": no SOAP address specified. try running wsimport with -extension switch.
wsdlmodeler.warning.noSOAPAddress=port \"{0}\" is not a SOAP port, it has no soap:address
wsdlmodeler.warning.noSOAPAddress=port \"{0}\" is not a SOAP port, it has no soap:address
wsdlmodeler.warning.ignoringSOAPBinding.nonHTTPTransport:ignoring SOAP port \"{0}\": unrecognized transport. try running wsimport with -extension switch.
#BP1.1 R2705
@ -189,7 +189,7 @@ mimemodeler.elementPart.invalidElementMimeType=The mime:content part refers to w
mimemodeler.invalidMimePart.nameNotAllowed=name attribute on wsdl:part in Operation \"{0}\" is ignored. Its not allowed as per WS-I AP 1.0.
wsdlmodeler20.rpcenc.not.supported=rpc/encoded wsdl's are not supported in JAXWS 2.0.
wsdlmodeler20.rpcenc.not.supported=rpc/encoded wsdl's are not supported in JAXWS 2.0.
wsdlmodeler.warning.ignoringOperation.notNCName=Ignoring operation \"{0}\", it has illegal character ''{1}'' in its name. Its rpc-literal operation - jaxws won't be able to serialize it!
wsdlmodeler.warning.ignoringOperation.javaReservedWordNotAllowed.nonWrapperStyle=Ignoring operation \"{0}\", can''t generate java method. Parameter: part "{2}\" in wsdl:message \"{1}\", is a java keyword. Use customization to change the parameter name or change the wsdl:part name.
@ -207,11 +207,12 @@ wsdlmodeler.invalid.operation.javaReservedWordNotAllowed.operationName=Invalid o
wsdlmodeler.warning.ignoringOperation.javaReservedWordNotAllowed.customizedOperationName=Ignoring operation \"{0}\", can''t generate java method ,customized name \"{1}\" of the wsdl:operation is a java keyword.
wsdlmodeler.invalid.operation.javaReservedWordNotAllowed.customizedOperationName=Invalid operation \"{0}\", can''t generate java method ,customized name \"{1}\" of the wsdl:operation is a java keyword.
wsdlmodeler.jaxb.javatype.notfound=Schema descriptor {0} in message part \"{1}\" could not be bound to Java!
wsdlmodeler.jaxb.javatype.notfound=Schema descriptor {0} in message part \"{1}\" is not defined and could not be bound to Java. Perhaps the schema descriptor {0} is not defined in the schema imported/included in the WSDL. You can either add such imports/includes or run wsimport and provide the schema location using -b switch.
wsdlmodeler.unsupportedBinding.mime=WSDL MIME binding is not currently supported!
wsdlmodeler.nonUnique.body=Non unique body parts! In a port, operations must have unique operation signaure on the wire for successful dispatch. In port {0}, Operations \"{1}\" and \"{2}\" have the same request body block {3}
wsdlmodeler.rpclit.unkownschematype=XML type \"{0}\" could not be resolved, XML to JAVA binding failed! Please check the wsdl:part \"{1}\" in the wsdl:message \"{2}\".
wsdlmodeler.nonUnique.body.error=Non unique body parts! In a port, as per BP 1.1 R2710 operations must have unique operation signaure on the wire for successful dispatch. In port {0}, Operations \"{1}\" and \"{2}\" have the same request body block {3}. Try running wsimport with -extension switch, runtime will try to dispatch using SOAPAction
wsdlmodeler.nonUnique.body.warning=Non unique body parts! In a port, as per BP 1.1 R2710 operations must have unique operation signaure on the wire for successful dispatch. In port {0}, Operations \"{1}\" and \"{2}\" have the same request body block {3}. Method dispatching may fail, runtime will try to dispatch using SOAPAction
wsdlmodeler.rpclit.unkownschematype=XML type \"{0}\" could not be resolved, XML to JAVA binding failed! Please check the wsdl:part \"{1}\" in the wsdl:message \"{2}\".
wsdlmodeler.responsebean.notfound=wsimport failed to generate async response bean for operation: {0}

@ -24,4 +24,3 @@
#
processor.missing.model=model is missing

@ -26,4 +26,3 @@
holder.valuefield.not.found=Could not find the field in the Holder that contains the Holder''s value: {0}
null.namespace.found=Encountered error in wsdl. Check namespace of element <{0}>
sax2dom.notsupported.createelement=SAX2DOMEx.DomImplDoesntSupportCreateElementNs: {0}

@ -50,7 +50,7 @@ webserviceap.oneway.operation.cannot.have.return.type=The method {1} of class {0
webserviceap.oneway.operation.cannot.have.holders=The method {1} of class {0} is annotated @Oneway but contains inout or out paramerters (javax.xml.ws.Holder)
webserviceap.oneway.operation.cannot.declare.exceptions=The method {1} of class {0} is annotated @Oneway but declares the exception {2}
webserviceap.cannot.combine.handlerchain.soapmessagehandlers=You cannot specify both HanlderChain and SOAPMessageHandlers annotations
webserviceap.invalid.handlerchain.file.nohandler-config=The handlerchain file {0} is invalid, it does not contain a handler-config element
@ -109,19 +109,19 @@ webserviceap.rpc.soapbinding.not.allowed.on.method=SOAPBinding.Style.RPC binding
webserviceap.mixed.binding.style=Class\: {0} contains mixed bindings. SOAPBinding.Style.RPC and SOAPBinding.Style.DOCUMENT cannot be mixed.
webserviceap.endpointinteface.plus.annotation=The @{0} annotation cannot be used in with @javax.jws.WebService.endpointInterface element.
webserviceap.endpointinteface.plus.annotation=The @{0} annotation cannot be used in with @javax.jws.WebService.endpointInterface element.
webserviceap.endpointinteface.plus.element=The @javax.jws.WebService.{0} element cannot be used in with @javax.jws.WebService.endpointInterface element.
webserviceap.endpointinteface.plus.element=The @javax.jws.WebService.{0} element cannot be used in with @javax.jws.WebService.endpointInterface element.
webserviceap.non.in.parameters.must.be.holder=Class:\ {0}, method: {1}, parameter: {2} is not WebParam.Mode.IN and is not of type javax.xml.ws.Holder.
webserviceap.non.in.parameters.must.be.holder=Class:\ {0}, method: {1}, parameter: {2} is not WebParam.Mode.IN and is not of type javax.xml.ws.Holder.
webserviceap.invalid.sei.annotation.element=The @javax.jws.WebService.{0} element cannot be specified on a service endpoint interface. Class\: {1}
webserviceap.invalid.sei.annotation.element=The @javax.jws.WebService.{0} element cannot be specified on a service endpoint interface. Class\: {1}
webserviceap.invalid.sei.annotation=The @{0} annotation cannot be used on a service endpoint interface. Class\: {1}
webserviceap.invalid.sei.annotation=The @{0} annotation cannot be used on a service endpoint interface. Class\: {1}
webserviceap.invalid.sei.annotation.element.exclude=The @javax.jws.WebMethod({0}) cannot be used on a service endpoint interface. Class\: {1} method\: {2}
webserviceap.invalid.webmethod.element.with.exclude=The @javax.jws.WebMethod.{0} element cannot be specified with the @javax.jws.WebMethod.exclude element. Class\: {1} method\: {2}
webserviceap.invalid.webmethod.element.with.exclude=The @javax.jws.WebMethod.{0} element cannot be specified with the @javax.jws.WebMethod.exclude element. Class\: {1} method\: {2}
webserviceap.doc.bare.no.out=Document/literal bare methods with no return type or OUT/INOUT parameters must be annotated as @Oneway. Class\: {0}, method: {1}
webserviceap.doc.bare.return.and.out=Document/literal bare methods cannot have a return type and out parameters. Class\: {0}, method: {1}
@ -137,19 +137,20 @@ webserviceap.webservice.class.is.innerclass.not.static=Inner classes annotated w
webserviceap.webservice.method.is.abstract=Classes annotated with @javax.jws.WebService must not have abstract methods. Class\: {0} Method: {1}
#webserviceap.doc.bare.return.and.out=Document literal bare methods must not have a return value and an OUT/INOUT parameter. Class\: {0} Method\: {1}
webserviceap.webservice.method.is.static.or.final=Method annotated with @javax.jws.WebMethod must not be static or final. Class\: {0} Method: {1}
#webserviceap.doc.bare.return.and.out=Document literal bare methods must not have a return value and an OUT/INOUT parameter. Class\: {0} Method\: {1}
webserviceap.webservice.no.default.constructor=Classes annotated with @javax.jws.WebService must have a public default constructor. Class\: {0}
webserviceap.oneway.and.not.one.in=Document literal bare methods annotated with @javax.jws.Oneway must have one non-header IN parameter. Class\: {0} Method\: {1}
webserviceap.oneway.and.not.one.in=Document literal bare methods annotated with @javax.jws.Oneway must have one non-header IN parameter. Class\: {0} Method\: {1}
webserviceap.doc.bare.no.return.and.no.out=Document literal bare methods that do not have a return value must have a single OUT/INOUT parameter. Class\: {0} Method\: {1}
webserviceap.doc.bare.no.return.and.no.out=Document literal bare methods that do not have a return value must have a single OUT/INOUT parameter. Class\: {0} Method\: {1}
webserviceap.doc.bare.and.no.one.in=Document literal bare methods must have one non-header, IN/INOUT parameter. Class\: {0} Method\: {1}
webserviceap.doc.bare.and.no.one.in=Document literal bare methods must have one non-header, IN/INOUT parameter. Class\: {0} Method\: {1}
webserviceap.method.not.implemented=Methods in an endpointInterface must be implemented in the implementation class. Interface Class\:{0} Implementation Class\:{1} Method\: {2}
webserviceap.no.package.class.must.have.targetnamespace=@javax.jws.Webservice annotated classes that do not belong to a package must have the @javax.jws.Webservice.targetNamespace element. Class\: {0}
webserviceap.webservice.and.webserviceprovider=Classes cannot be annotated with both @javax.jws.WebService and @javax.xml.ws.WebServiceProvider. Class\: {0}

@ -44,12 +44,22 @@ wsimport.help=\nUsage: {0} [options] <WSDL_URI>\n\n\
\ -p <pkg> specifies the target package\n\
\ -quiet suppress wsimport output\n\
\ -s <directory> specify where to place generated source files\n\
\ -target <version> generate code as per the given JAXWS specification version.\n\
\ version 2.0 will generate compliant code for JAXWS 2.0 spec.\n\
\ -target <version> generate code as per the given JAXWS spec version\n\
\ e.g. 2.0 will generate compliant code for JAXWS 2.0 spec\n\
\ -verbose output messages about what the compiler is doing\n\
\ -version print version information\n\
\ -wsdllocation <location> @WebServiceClient.wsdlLocation value\n\
wsimport.usage.extensions=\n\
\Extensions:\n\
\ -XadditionalHeaders map headers not bound to request or response message to \n\
\ Java method parameters\n\
\ -Xauthfile file to carry authorization information in the format \n\
\ http://username:password@example.org/stock?wsdl\n\
\ -Xdebug print debug information\n\
\ -Xno-addressing-databinding enable binding of W3C EndpointReferenceType to Java\n\
\ -Xnocompile do not compile generated Java files\n\
wsimport.usage.examples=\n\
\Examples:\n\
@ -76,15 +86,18 @@ wsgen.help=\nUsage: {0} [options] <SEI>\n\n\
\ -s <directory> specify where to place generated source files\n\
\ -verbose output messages about what the compiler is doing\n\
\ -version print version information\n\
\ -wsdl[:protocol] generate a WSDL file. The protocol is optional.\n\
\ Valid protocols are soap1.1 and Xsoap1.2, the default\n\
\ is soap1.1. Xsoap1.2 is not standard and can only be\n\
\ used in conjunction with the -extension option\n\
\ -wsdl[:protocol] generate a WSDL file. The protocol is optional.\n\
\ Valid protocols are {1},\n\
\ the default is soap1.1.\n\
\ The non stanadard protocols {2}\n\
\ can only be used in conjunction with the\n\
\ -extension option.\n\
\ -servicename <name> specify the Service name to use in the generated WSDL\n\
\ Used in conjunction with the -wsdl option.\n\
\ -portname <name> specify the Port name to use in the generated WSDL\n\
\ Used in conjunction with the -wsdl option.
wsgen.usage.examples=\n\
\Examples:\n\
\ wsgen -cp . example.Stock\n\
@ -93,7 +106,7 @@ wsgen.usage.examples=\n\
wrapperTask.needEndorsed=\
You are running on JDK6 which comes with JAX-WS 2.0 API, but this tool requires JAX-WS 2.1 API. \
Use the endorsed standards override mechanism (http://java.sun.com/javase/6/docs/technotes/guides/standards/), \
or set xendorsed="true" on <{0}>.
or set xendorsed="true" on <{0}>.
wrapperTask.loading20Api=\
You are loading JAX-WS 2.0 API from {0} but this tool requires JAX-WS 2.1 API.
@ -126,7 +139,8 @@ wsgen.class.not.found=Class not found: \"{0}\"
wsgen.could.not.create.file="Could not create file: "\{0}\"
wsgen.missingFile=Missing SEI
wsgen.soap12.without.extension=The optional protocol \"Xsoap1.2\" must be used in conjunction with the \"-extension\" option.
wsgen.wsdl.arg.no.genwsdl=The \"{0}\" option can only be in conjunction with the "-wsdl" option.
wsgen.protocol.without.extension=The optional protocol \"{0}\" must be used in conjunction with the \"-extension\" option.
wsgen.wsdl.arg.no.genwsdl=The \"{0}\" option can only be in conjunction with the "-wsdl" option.
wsgen.servicename.missing.namespace=The service name \"{0}\" is missing a namespace.
wsgen.servicename.missing.localname=The service name \"{0}\" is missing a localname.
wsgen.portname.missing.namespace=The port name \"{0}\" is missing a namespace.
@ -151,17 +165,41 @@ wsimport.FailedToParse = \
Failed to parse "{0}": {1}
wsimport.ParsingWSDL=parsing WSDL...\n\n
wsimport.GeneratingCode=generating code...
wsimport.GeneratingCode=generating code...\n
wsimport.CompilingCode=\ncompiling code...\n
wsimport.ILLEGAL_TARGET_VERSION = \
"{0}" is not a valid target version. "2.0" and "2.1" are supported.
wsimport.ILLEGAL_AUTH_INFO = \
"{0}" is not a valid authorization information format. The format is http[s]://user:password@host:port//<url-path>.
wsimport.readingAuthFile = \
Trying to read authorization file : "{0}"...
wsimport.authFileNotFound = \
Authorization file "{0}" not found. If the WSDL access needs Basic Authentication, please provide authorization file with read access at {1} or use -Xauthfile to give the authorization file and on each line provide authorization information using this format : http[s]://user:password@host:port//<url-path>
wsimport.authInfoNeeded = \
{0}, "{1}" needs authorization, please provide authorization file with read access at {2} or use -Xauthfile to give the authorization file and on each line provide authorization information using this format : http[s]://user:password@host:port//<url-path>
wsimport.AUTH_INFO_LINENO = \
"line {0} of {1}
wsimport.ErrorMessage = \
[ERROR] {0}
[ERROR] {0}
wsimport.WarningMessage = \
[WARNING] {0}
[WARNING] {0}
wsimport.InfoMessage = \
[INFO] {0}
[INFO] {0}
wsimport.DebugMessage = \
[DEBUG] {0}
wsimport.httpRedirect = \
Server returned HTTP Status code: "{0}", retrying with "{1}"
wsimport.maxRedirectAttempt = \
Can not get a WSDL maximum number of redirects(5) reached

@ -41,7 +41,6 @@ parsing.unknownImportedDocumentType=imported document is of unknown type: {0}
parsing.unknownNamespacePrefix=undeclared namespace prefix: \"{0}\"
parsing.invalidURI=invalid URI: {0}
parsing.ioExceptionWithSystemId=failed to parse document at \"{0}\"
parsing.unableToGetMetadata= Unable to get Metadata from: {0}
parsing.ioException=parsing failed: {0}
parsing.saxExceptionWithSystemId=invalid WSDL file! failed to parse document at \"{0}\"
parsing.saxException=invalid WSDL file! parsing failed: {0}
@ -52,16 +51,16 @@ parsing.factoryConfigException=invalid WSDL file! parsing failed: {0}
parsing.missingRequiredAttribute=missing required attribute \"{1}\" of element \"{0}\"
parsing.invalidTag=expected element \"{1}\", found \"{0}\"
parsing.invalidTagNS=Invalid WSDL at {4}: expected element \"{2}\" (in namespace \"{3}\"), found element \"{0}\" (in namespace \"{1}\")
parsing.nonWhitespaceTextFound=found unexpected non whitespace text: \"{0}\"
parsing.nonWhitespaceTextFound=found unexpected non-whitespace text: \"{0}\"
parsing.elementExpected=unexpected non-element found
#
entity.duplicate=duplicate entity: \"{0}\"
entity.duplicateWithType=duplicate \"{0}\" entity: \"{1}\"
entity.notFoundByID=invalid entity id: \"{0}\"
entity.notFoundByQName=invalid entity name: \"{0}\" (in namespace: \"{1}\")
entity.notFound.portType=wsdl:portType \"{0}\" referenced by wsdl:binding \"{1}\", but its not found in the wsdl
entity.notFound.binding=wsdl:binding \"{0}" referenced by wsdl:port \"{1}\", but its not found in the wsdl
entity.notFoundByQName={0} \"{1}\" not found in the wsdl: {2}
entity.notFound.portType=wsdl:portType \"{0}\" referenced by wsdl:binding \"{1}\", but it's not found in the wsdl
entity.notFound.binding=wsdl:binding \"{0}" referenced by wsdl:port \"{1}\", but it's not found in the wsdl
#
validation.missingRequiredAttribute=missing required attribute \"{0}\" of element \"{1}\"
@ -71,7 +70,7 @@ validation.invalidElement=invalid element: \"{0}\"
validation.invalidComplexTypeInElement=invalid element: \"{1}\", has named complexType: \"{0}\"
validation.invalidSimpleTypeInElement=invalid element: \"{1}\", has named simpleType: \"{0}\"
validation.duplicatedElement=duplicated element: \"{0}\"
validation.duplicatePartName=Invalid WSDL, duplicate parts in a wsdl:message is not allowed. \nwsdl:message {0} has duplicated part name: \"{1}\"
validation.duplicatePartName=Invalid WSDL, duplicate parts in a wsdl:message is not allowed. \nwsdl:message {0} has a duplicated part name: \"{1}\"
validation.invalidSubEntity=invalid sub-element \"{0}\" of element \"{1}\"
validation.invalidAttribute=invalid attribute \"{0}\" of element \"{1}\"
validation.invalidAttributeValue=invalid value \"{1}\" for attribute \"{0}\"
@ -88,51 +87,54 @@ warning.faultEmptyAction=ignoring empty Action in \"{0}\" {1} element of \"{2}\"
warning.inputOutputEmptyAction=ignoring empty Action in {0} element of \"{1}\" operation, using default instead
#wsi compliant WSDL warnings
warning.wsi.r2001=Not a WSI-BP compliant WSDL (R2001, R2002). wsdl:import must only import WSDL document. Its trying to import: \"{0}\"
warning.wsi.r2002=Not a WSI-BP compliant WSDL (R2002). wsdl:import must not be used to import XML Schema embedded in the WSDL document. Expected wsdl namesapce: {0}, found: {1}
warning.wsi.r2003=Not a WSI-BP compliant WSDL (R2003). xsd:import must only be used inside xsd:schema element.
warning.wsi.r2004=Not a WSI-BP compliant WSDL (R2001, R2004). xsd:import must not import XML Schema definition emmbedded inline within WSDLDocument.
warning.wsi.r2001=Not a WSI-BP compliant WSDL (R2001, R2002). wsdl:import must import only WSDL documents. It's trying to import: \"{0}\"
warning.wsi.r2002=Not a WSI-BP compliant WSDL (R2002). wsdl:import must not be used to import XML Schema embedded in the WSDL document. Expected wsdl namespace: {0}, found: {1}
warning.wsi.r2003=Not a WSI-BP compliant WSDL (R2003). xsd:import must only be used inside xsd:schema elements.
warning.wsi.r2004=Not a WSI-BP compliant WSDL (R2001, R2004). xsd:import must not import XML Schema definitions embedded inline within the WSDL document.
#Parser
Parsing.ParseFailed = \
Failed to parse the WSDL.
\tFailed to parse the WSDL.
Parsing.NotAWSDL=Failed to get WSDL components, probably {0} is not a valid WSDL file.
AbstractReferenceFinderImpl.UnableToParse = \
Unable to parse "{0}" : {1}
\tUnable to parse "{0}" : {1}
Parser.NotABindingFile = \
not an external binding file. The root element must be '{'http://java.sun.com/xml/ns/jaxws'}'bindings but it is '{'{0}'}'{1}
\tnot an external binding file. The root element must be '{'http://java.sun.com/xml/ns/jaxws'}'bindings but it is '{'{0}'}'{1}
#Internalizer
Internalizer.TwoVersionAttributes = \
Both jaxws:version and version are present
\tBoth jaxws:version and version are present
Internalizer.IncorrectVersion = \
JAXWS version attribute must be "2.0"
\tJAXWS version attribute must be "2.0"
Internalizer.VersionNotPresent = \
JAXWS version attribute must be present
\tJAXWS version attribute must be present
internalizer.targetNotAnElement= \
Target node is not an element
\tTarget node is not an element
internalizer.targetNotFound= \
No target found for the wsdlLocation: {0}
\tNo target found for the wsdlLocation: {0}
Internalizer.IncorrectSchemaReference= \
"{0}" is not a part of this compilation. Is this a mistake for "{1}"?
\t"{0}" is not a part of this compilation. Is this a mistake for "{1}"?
internalizer.XPathEvaluationError = \
XPath error: {0}
internalizer.XPathEvaluatesToNoTarget = \
XPath evaluation of "{0}" results in empty target node
XPath evaluation of "{0}" results in an empty target node
internalizer.XPathEvaulatesToTooManyTargets = \
XPath evaluation of "{0}" results in too many ({1}) target nodes
internalizer.XPathEvaluatesToNonElement = \
XPath evaluation of "{0}" needs to result in an element.
invalid.customization.namespace=Ignoring customization: \"{0}\", it has no namespace. It must belong to the customization namespace.
invalid.customization.namespace=Ignoring customization: \"{0}\", because it has no namespace. It must belong to the customization namespace.
invalid.wsdl.with.dooc="Not a WSDL document: {0}, it gives \"{1}\", retrying with MEX..."
invalid.wsdl="{0} does not look like a WSDL document, retrying with MEX..."
invalid.wsdl=Invalid WSDL {0}, expected {1} found {2} at (line {3})
try.with.mex= {0} \n\nretrying with MEX...
file.not.found={0} is unreachable
parsing.unableToGetMetadata= {0}\n\n{1}
failed.noservice=failed.noservice=Could not find wsdl:service in the provided WSDL(s): \n\n{0} At least one WSDL with at least one service definition needs to be provided.

@ -23,7 +23,7 @@
# have any questions.
#
build-id=JAX-WS RI 2.1.1
build-version=JAX-WS RI 2.1.1
major-version=2.1.1
#Fri May 15 16:16:14 CEST 2009
build-id=JAX-WS RI 2.1.6
major-version=2.1.6
build-version=JAX-WS RI 2.1.6

@ -24,7 +24,6 @@
*/
package com.sun.tools.internal.ws.wscompile;
/**

@ -0,0 +1,64 @@
/*
* Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.tools.internal.ws.wscompile;
import com.sun.istack.internal.NotNull;
import java.net.URL;
/**
* Represents authorization information needed by {@link com.sun.tools.internal.ws.wscompile.DefaultAuthenticator} to
* authenticate wsimport to access the wsdl.
*
* @author Vivek Pandey
*/
public final class AuthInfo {
private final String user;
private final String password;
private final URL url;
public AuthInfo(@NotNull URL url, @NotNull String user, @NotNull String password){
this.url = url;
this.user = user;
this.password = password;
}
public String getUser() {
return user;
}
public String getPassword() {
return password;
}
/**
* Returns if the requesting host and port are associated with this {@link AuthInfo}
*/
public boolean matchingHost(@NotNull URL requestingURL) {
return requestingURL.equals(url);
}
}

@ -24,7 +24,6 @@
*/
package com.sun.tools.internal.ws.wscompile;
import com.sun.istack.internal.Nullable;

@ -0,0 +1,66 @@
/*
* Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.tools.internal.ws.wscompile;
import com.sun.istack.internal.NotNull;
import com.sun.tools.internal.ws.processor.modeler.wsdl.ConsoleErrorReporter;
import java.io.File;
import java.net.MalformedURLException;
import java.net.PasswordAuthentication;
import java.net.URL;
import java.util.Arrays;
/**
* @author Vivek Pandey
*/
public class DefaultAuthTester {
public static void main(String[] args) throws BadCommandLineException {
DefaultAuthenticator da = new MyAuthenticator(new ConsoleErrorReporter(System.out), new File("c:\\Users\\vivekp\\.metro\\auth"));
PasswordAuthentication pa = da.getPasswordAuthentication();
if(pa!= null && pa.getUserName().equals("vivek") && Arrays.equals(pa.getPassword(), "test".toCharArray()))
System.out.println("Success!");
else
System.out.println("Failiure!");
}
private static class MyAuthenticator extends DefaultAuthenticator{
public MyAuthenticator(@NotNull ErrorReceiver receiver, @NotNull File authfile) throws BadCommandLineException {
super(receiver, authfile);
}
protected URL getRequestingURL() {
try {
return new URL("http://foo.com/myservice?wsdl");
} catch (MalformedURLException e) {
e.printStackTrace();
}
return null;
}
}
}

@ -0,0 +1,154 @@
/*
* Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.tools.internal.ws.wscompile;
import com.sun.istack.internal.NotNull;
import com.sun.tools.internal.ws.resources.WscompileMessages;
import org.xml.sax.SAXParseException;
import org.xml.sax.helpers.LocatorImpl;
import java.io.*;
import java.net.Authenticator;
import java.net.PasswordAuthentication;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
/**
* @author Vivek Pandey
*/
public class DefaultAuthenticator extends Authenticator {
private final List<AuthInfo> authInfo = new ArrayList<AuthInfo>();
private final ErrorReceiver errReceiver;
private final String proxyUser;
private final String proxyPasswd;
//can user.home value be null?
public static final String defaultAuthfile = System.getProperty("user.home")+ System.getProperty("file.separator")+".metro"+System.getProperty("file.separator")+"auth";
private File authFile = new File(defaultAuthfile);
private boolean giveError;
public DefaultAuthenticator(@NotNull ErrorReceiver receiver, @NotNull File authfile) throws BadCommandLineException {
this.errReceiver = receiver;
this.proxyUser = System.getProperty("http.proxyUser");
this.proxyPasswd = System.getProperty("http.proxyPassword");
if(authfile != null){
this.authFile = authfile;
this.giveError = true;
}
if(!authFile.exists()){
try {
error(new SAXParseException(WscompileMessages.WSIMPORT_AUTH_FILE_NOT_FOUND(authFile.getCanonicalPath(), defaultAuthfile), null));
} catch (IOException e) {
error(new SAXParseException(WscompileMessages.WSIMPORT_FAILED_TO_PARSE(authFile,e.getMessage()), null));
}
return;
}
if(!authFile.canRead()){
error(new SAXParseException("Authorization file: "+authFile + " does not have read permission!", null));
return;
}
parseAuth();
}
protected PasswordAuthentication getPasswordAuthentication() {
//If user sets proxy user and passwd and the RequestType is from proxy server then create
// PasswordAuthentication using proxyUser and proxyClass;
if((getRequestorType() == RequestorType.PROXY) && proxyUser != null && proxyPasswd != null){
return new PasswordAuthentication(proxyUser, proxyPasswd.toCharArray());
}
for(AuthInfo auth:authInfo){
if(auth.matchingHost(getRequestingURL())){
return new PasswordAuthentication(auth.getUser(), auth.getPassword().toCharArray());
}
}
return null;
}
private void parseAuth() {
errReceiver.info(new SAXParseException(WscompileMessages.WSIMPORT_READING_AUTH_FILE(authFile), null));
BufferedReader in;
try {
in = new BufferedReader(new InputStreamReader(new FileInputStream(authFile), "UTF-8"));
} catch (UnsupportedEncodingException e) {
error(new SAXParseException(e.getMessage(), null));
return;
} catch (FileNotFoundException e) {
error(new SAXParseException(WscompileMessages.WSIMPORT_AUTH_FILE_NOT_FOUND(authFile, defaultAuthfile), null, e));
return;
}
String text;
LocatorImpl locator = new LocatorImpl();
try {
int lineno = 1;
locator.setSystemId(authFile.getCanonicalPath());
while ((text = in.readLine()) != null) {
locator.setLineNumber(lineno++);
try {
URL url = new URL(text);
String authinfo = url.getUserInfo();
if (authinfo != null) {
int i = authinfo.indexOf(':');
if (i >= 0) {
String user = authinfo.substring(0, i);
String password = authinfo.substring(i + 1);
authInfo.add(new AuthInfo(new URL(text), user, password));
} else {
error(new SAXParseException(WscompileMessages.WSIMPORT_ILLEGAL_AUTH_INFO(url), locator));
}
} else {
error(new SAXParseException(WscompileMessages.WSIMPORT_ILLEGAL_AUTH_INFO(url), locator));
}
} catch (NumberFormatException e) {
error(new SAXParseException(WscompileMessages.WSIMPORT_ILLEGAL_AUTH_INFO(text), locator));
}
}
in.close();
} catch (IOException e) {
error(new SAXParseException(WscompileMessages.WSIMPORT_FAILED_TO_PARSE(authFile,e.getMessage()), locator));
}
}
/**
* When user provides authfile explicitly using -Xauthfile we throw error otherwise show the mesage by default with -Xdebug flag
*/
private void error(SAXParseException e){
if(giveError){
errReceiver.error(e);
} else{
errReceiver.debug(e);
}
}
}

@ -24,7 +24,6 @@
*/
package com.sun.tools.internal.ws.wscompile;
import com.sun.istack.internal.Nullable;
@ -126,6 +125,8 @@ public abstract class ErrorReceiver implements ErrorHandler, ErrorListener {
info( new SAXParseException(msg,null) );
}
public abstract void debug(SAXParseException exception);
//
//
// convenience methods for derived classes
@ -145,7 +146,7 @@ public abstract class ErrorReceiver implements ErrorHandler, ErrorListener {
return ModelMessages.CONSOLE_ERROR_REPORTER_LINE_X_OF_Y(line==-1?"?":Integer.toString( line ),
getShortName( e.getSystemId()));
} else {
return ModelMessages.CONSOLE_ERROR_REPORTER_UNKNOWN_LOCATION();
return ""; //for unkown location just return empty string
}
}

@ -24,7 +24,6 @@
*/
package com.sun.tools.internal.ws.wscompile;
import com.sun.tools.internal.xjc.api.ErrorListener;
@ -66,6 +65,10 @@ public class ErrorReceiverFilter extends ErrorReceiver {
if(core!=null) core.info(exception);
}
public void debug(SAXParseException exception) {
}
public void warning(SAXParseException exception) {
if(core!=null) core.warning(exception);
}

@ -35,6 +35,7 @@ import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URISyntaxException;
/**
* A helper class to invoke javac.
@ -43,15 +44,19 @@ import java.net.URL;
*/
class JavaCompilerHelper{
static File getJarFile(Class clazz) {
URL url = null;
try {
URL url = ParallelWorldClassLoader.toJarUrl(clazz.getResource('/'+clazz.getName().replace('.','/')+".class"));
return new File(url.getPath()); // this code is assuming that url is a file URL
url = ParallelWorldClassLoader.toJarUrl(clazz.getResource('/'+clazz.getName().replace('.','/')+".class"));
return new File(url.toURI());
} catch (ClassNotFoundException e) {
// if we can't figure out where JAXB/JAX-WS API are, we couldn't have been executing this code.
throw new Error(e);
} catch (MalformedURLException e) {
// if we can't figure out where JAXB/JAX-WS API are, we couldn't have been executing this code.
throw new Error(e);
} catch (URISyntaxException e) {
// url.toURI() is picky and doesn't like ' ' in URL, so this is the fallback
return new File(url.getPath());
}
}

@ -24,7 +24,6 @@
*/
package com.sun.tools.internal.ws.wscompile;
import com.sun.tools.internal.ws.resources.WscompileMessages;
@ -150,6 +149,10 @@ public class Options {
public boolean debug = false;
/**
* -Xdebug - gives complete stack trace
*/
public boolean debugMode = false;
@ -206,7 +209,7 @@ public class Options {
* @exception BadCommandLineException
* thrown when there's a problem in the command-line arguments
*/
public final void parseArguments( String[] args ) throws BadCommandLineException {
public void parseArguments( String[] args ) throws BadCommandLineException {
for (int i = 0; i < args.length; i++) {
if(args[i].length()==0)

@ -24,18 +24,20 @@
*/
package com.sun.tools.internal.ws.wscompile;
import com.sun.mirror.apt.Filer;
import com.sun.tools.internal.ws.resources.WscompileMessages;
import com.sun.tools.internal.ws.api.WsgenExtension;
import com.sun.tools.internal.ws.api.WsgenProtocol;
import com.sun.xml.internal.ws.api.BindingID;
import com.sun.xml.internal.ws.util.ServiceFinder;
import com.sun.xml.internal.ws.binding.SOAPBindingImpl;
import javax.jws.WebService;
import javax.xml.namespace.QName;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.*;
/**
* @author Vivek Pandey
@ -66,7 +68,9 @@ public class WsgenOptions extends Options {
* protocol value
*/
public String protocol = "soap1.1";
public String transport;
public Set<String> protocols = new LinkedHashSet<String>();
public Map<String, String> nonstdProtocols = new LinkedHashMap<String, String>();
/**
* -XwsgenReport
@ -92,8 +96,22 @@ public class WsgenOptions extends Options {
private static final String SOAP11 = "soap1.1";
public static final String X_SOAP12 = "Xsoap1.2";
public WsgenOptions() {
protocols.add(SOAP11);
protocols.add(X_SOAP12);
nonstdProtocols.put(X_SOAP12, SOAPBindingImpl.X_SOAP12HTTP_BINDING);
ServiceFinder<WsgenExtension> extn = ServiceFinder.find(WsgenExtension.class);
for(WsgenExtension ext : extn) {
Class clazz = ext.getClass();
WsgenProtocol pro = (WsgenProtocol)clazz.getAnnotation(WsgenProtocol.class);
protocols.add(pro.token());
nonstdProtocols.put(pro.token(), pro.lexical());
}
}
@Override
protected int parseArguments(String[] args, int i) throws BadCommandLineException {
int j = super.parseArguments(args, i);
if (args[i].equals(SERVICENAME_OPTION)) {
serviceName = QName.valueOf(requireArgument(SERVICENAME_OPTION, args, ++i));
@ -132,10 +150,8 @@ public class WsgenOptions extends Options {
index = value.indexOf('/');
if (index == -1) {
protocol = value;
transport = HTTP;
} else {
protocol = value.substring(0, index);
transport = value.substring(index + 1);
}
protocolSet = true;
}
@ -168,13 +184,9 @@ public class WsgenOptions extends Options {
public void validate() throws BadCommandLineException {
if(nonclassDestDir == null)
nonclassDestDir = destDir;
if (!protocol.equalsIgnoreCase(SOAP11) &&
!protocol.equalsIgnoreCase(X_SOAP12)) {
throw new BadCommandLineException(WscompileMessages.WSGEN_INVALID_PROTOCOL(protocol, SOAP11 + ", " + X_SOAP12));
}
if (transport != null && !transport.equalsIgnoreCase(HTTP)) {
throw new BadCommandLineException(WscompileMessages.WSGEN_INVALID_TRANSPORT(transport, HTTP));
if (!protocols.contains(protocol)) {
throw new BadCommandLineException(WscompileMessages.WSGEN_INVALID_PROTOCOL(protocol, protocols));
}
if (endpoints.isEmpty()) {
@ -184,6 +196,10 @@ public class WsgenOptions extends Options {
throw new BadCommandLineException(WscompileMessages.WSGEN_SOAP_12_WITHOUT_EXTENSION());
}
if (nonstdProtocols.containsKey(protocol) && !isExtensionMode()) {
throw new BadCommandLineException(WscompileMessages.WSGEN_PROTOCOL_WITHOUT_EXTENSION(protocol));
}
validateEndpointClass();
validateArguments();
}
@ -245,12 +261,13 @@ public class WsgenOptions extends Options {
}
}
public static BindingID getBindingID(String protocol) {
BindingID getBindingID(String protocol) {
if (protocol.equals(SOAP11))
return BindingID.SOAP11_HTTP;
if (protocol.equals(X_SOAP12))
return BindingID.SOAP12_HTTP;
return null;
String lexical = nonstdProtocols.get(protocol);
return (lexical != null) ? BindingID.parse(lexical) : null;
}

@ -24,7 +24,6 @@
*/
package com.sun.tools.internal.ws.wscompile;
import com.sun.mirror.apt.AnnotationProcessor;
@ -32,6 +31,8 @@ import com.sun.mirror.apt.AnnotationProcessorEnvironment;
import com.sun.mirror.apt.AnnotationProcessorFactory;
import com.sun.mirror.declaration.AnnotationTypeDeclaration;
import com.sun.tools.internal.ws.ToolVersion;
import com.sun.tools.internal.ws.api.WsgenExtension;
import com.sun.tools.internal.ws.api.WsgenProtocol;
import com.sun.tools.internal.ws.processor.modeler.annotation.AnnotationProcessorContext;
import com.sun.tools.internal.ws.processor.modeler.annotation.WebServiceAP;
import com.sun.tools.internal.ws.processor.modeler.wsdl.ConsoleErrorReporter;
@ -46,11 +47,13 @@ import com.sun.xml.internal.ws.api.BindingID;
import com.sun.xml.internal.ws.api.server.Container;
import com.sun.xml.internal.ws.api.wsdl.writer.WSDLGeneratorExtension;
import com.sun.xml.internal.ws.binding.WebServiceFeatureList;
import com.sun.xml.internal.ws.binding.SOAPBindingImpl;
import com.sun.xml.internal.ws.model.AbstractSEIModelImpl;
import com.sun.xml.internal.ws.model.RuntimeModeler;
import com.sun.xml.internal.ws.util.ServiceFinder;
import com.sun.xml.internal.ws.wsdl.writer.WSDLGenerator;
import com.sun.xml.internal.ws.wsdl.writer.WSDLResolver;
import com.sun.istack.internal.tools.ParallelWorldClassLoader;
import org.xml.sax.SAXParseException;
import javax.xml.bind.annotation.XmlSeeAlso;
@ -110,14 +113,16 @@ public class WsgenTool implements AnnotationProcessorFactory {
return false;
}
}catch (Options.WeAreDone done){
usage(done.getOptions());
usage((WsgenOptions)done.getOptions());
}catch (BadCommandLineException e) {
if(e.getMessage()!=null) {
System.out.println(e.getMessage());
System.out.println();
}
usage(e.getOptions());
usage((WsgenOptions)e.getOptions());
return false;
}catch(AbortException e){
//error might have been reported
}finally{
if(!options.keep){
options.removeGeneratedFiles();
@ -161,12 +166,27 @@ public class WsgenTool implements AnnotationProcessorFactory {
}
}
/*
* To take care of JDK6-JDK6u3, where 2.1 API classes are not there
*/
private static boolean useBootClasspath(Class clazz) {
try {
ParallelWorldClassLoader.toJarUrl(clazz.getResource('/'+clazz.getName().replace('.','/')+".class"));
return true;
} catch(Exception e) {
return false;
}
}
public boolean buildModel(String endpoint, Listener listener) throws BadCommandLineException {
final ErrorReceiverFilter errReceiver = new ErrorReceiverFilter(listener);
context = new AnnotationProcessorContext();
webServiceAP = new WebServiceAP(options, context, errReceiver, out);
String[] args = new String[9];
boolean bootCP = useBootClasspath(EndpointReference.class) || useBootClasspath(XmlSeeAlso.class);
String[] args = new String[8 + (bootCP ? 1 :0)];
args[0] = "-d";
args[1] = options.destDir.getAbsolutePath();
args[2] = "-classpath";
@ -175,7 +195,9 @@ public class WsgenTool implements AnnotationProcessorFactory {
args[5] = options.sourceDir.getAbsolutePath();
args[6] = "-XclassesAsDecls";
args[7] = endpoint;
args[8] = "-Xbootclasspath/p:"+JavaCompilerHelper.getJarFile(EndpointReference.class)+File.pathSeparator+JavaCompilerHelper.getJarFile(XmlSeeAlso.class);
if (bootCP) {
args[8] = "-Xbootclasspath/p:"+JavaCompilerHelper.getJarFile(EndpointReference.class)+File.pathSeparator+JavaCompilerHelper.getJarFile(XmlSeeAlso.class);
}
// Workaround for bug 6499165: issue with javac debug option
workAroundJavacDebug();
@ -195,11 +217,12 @@ public class WsgenTool implements AnnotationProcessorFactory {
throw new BadCommandLineException(WscompileMessages.WSGEN_CLASS_NOT_FOUND(endpoint));
}
BindingID bindingID = WsgenOptions.getBindingID(options.protocol);
BindingID bindingID = options.getBindingID(options.protocol);
if (!options.protocolSet) {
bindingID = BindingID.parse(endpointClass);
}
RuntimeModeler rtModeler = new RuntimeModeler(endpointClass, options.serviceName, bindingID);
WebServiceFeatureList wsfeatures = new WebServiceFeatureList(endpointClass);
RuntimeModeler rtModeler = new RuntimeModeler(endpointClass, options.serviceName, bindingID, wsfeatures.toArray());
rtModeler.setClassLoader(classLoader);
if (options.portName != null)
rtModeler.setPortName(options.portName);
@ -207,7 +230,7 @@ public class WsgenTool implements AnnotationProcessorFactory {
final File[] wsdlFileName = new File[1]; // used to capture the generated WSDL file.
final Map<String,File> schemaFiles = new HashMap<String,File>();
WebServiceFeatureList wsfeatures = new WebServiceFeatureList(endpointClass);
WSDLGenerator wsdlGenerator = new WSDLGenerator(rtModel,
new WSDLResolver() {
private File toFile(String suggestedFilename) {
@ -327,8 +350,12 @@ public class WsgenTool implements AnnotationProcessorFactory {
}
}
protected void usage(Options options) {
System.out.println(WscompileMessages.WSGEN_HELP("WSGEN"));
protected void usage(WsgenOptions options) {
// Just don't see any point in passing WsgenOptions
// BadCommandLineException also shouldn't have options
if (options == null)
options = this.options;
System.out.println(WscompileMessages.WSGEN_HELP("WSGEN", options.protocols, options.nonstdProtocols.keySet()));
System.out.println(WscompileMessages.WSGEN_USAGE_EXAMPLES());
}

Some files were not shown because too many files have changed in this diff Show More