avasisht Absent Member.
Absent Member.
2337 views

Groupwise SOAP calls are not working with JDK 1.8

We have a mixture of 2014r2 and 2012 post offices. We have an application that uses java to do SOAP calls into mailboxes to pull data. We have developed the application using gwws.jar for making SOAP calls with JDK 1.7. Recently we upgraded JDK to 1.8 and this application is unable to contact the GroupWise server.


Error description: Caused by: Couldn't create SOAP message factory due to exception: javax.xml.soap.SOAPException: Unable to create message factory for SOAP: com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl cannot be cast to javax.xml.soap.MessageFactory at com.sun.xml.rpc.soap.message.SOAPMessageContext.getMessageFactory(SOAPMessageContext.java:203) at com.sun.xml.rpc.soap.message.SOAPMessageContext.createMessage(SOAPMessageContext.java:131) at com.sun.xml.rpc.client.StreamingSenderState.<init>(StreamingSenderState.java:30) at com.sun.xml.rpc.client.StubBase._start(StubBase.java:92) at com.novell.groupwise.ws.GroupWisePortType_Stub.loginRequest(GroupWisePortType_Stub.java:1581)

SOAP SDK is from https://www.novell.com/developer/ndk/groupwise/groupwise_web_service_(soap).html
Labels (1)
0 Likes
24 Replies
Anonymous_User Absent Member.
Absent Member.

Re: GroupWise SOAP calls are not working with JDK 1.8

The version of Java compiler and the Java SOAP libraries used to generate
the gwws.jar are important. There are some incompatibilities between the
different versions of the Java compiler. There are different Java SOAP
libraries. The original copy of gwws.jar was compiled with Java 1.5.
The SOAP library was an older library. The Java 1.5 gwws.jar will not
run with newer versions of Java.

Our WebAccess application uses a newer SOAP (metro) library than the
earlier library. In looking sometime ago, I noticed the metro library
library is no longer available. I don't remember or did not look into
what the replacement library is.

You will need to find a Java SOAP library to use with your application.
You will then need to compile the GroupWise SOAP WSDL into a jar file
to use with your application.

I can't add attachments to messages. I'm including the batch file inline
that we use to generate a gwws.jar file for WebAccess. We current use Java
1.8.

if exist docs rmdir /s /q docs
mkdir docs

REM ###########################################################
REM Set the directory macros
REM ###########################################################
if "%WORK_BASE%"=="" set WORK_BASE=\trunk
set WSDL_DIR=%WORK_BASE%\webacc\wsdl
set METRO_HOME=%WORK_BASE%\gdk\webaccess\metro
set WEBACC_JARLIB_DIR=%WORK_BASE%\webacc\java\lib

REM ###########################################################
REM Copy the schema files to the right directory
REM ###########################################################
svn update %WORK_BASE%\provider %SVN_CREDS%
xcopy /D /Y %WORK_BASE%\provider\schemas\*.xsd %WSDL_DIR%
xcopy /D /Y %WORK_BASE%\provider\schemas\*.wsdl %WSDL_DIR%
xcopy %WSDL_DIR%\*.xsd build\classes\wsdl
xcopy %WSDL_DIR%\*.wsdl build\classes\wsdl

REM ###########################################################
REM
REM ###########################################################
set WSIMPORT_OPTS=-b metro.xjb -b serialization.xml -Xendorsed -wsdllocation
/wsdl/groupwise.wsdl ./groupwise.wsdl -p com.novell.groupwise.ws -keep -s
srcx -d build\classes
REM call %METRO_HOME%\bin\wsimport %WSIMPORT_OPTS%
call "%JAVA_HOME%\bin\java" -classpath
%METRO_HOME%\lib\webservices-rt.jar;%METRO_HOME%\lib\webservices-tools.jar;%
METRO_HOME%\lib\webservices-api.jar com.sun.tools.ws.WsImport
%WSIMPORT_OPTS%

REM ###########################################################
REM
REM ###########################################################
cd %WSDL_DIR%\build\classes
call "%JAVA_HOME%\bin\jar" -cvf %WEBACC_JARLIB_DIR%\gwws.jar com wsdl

REM ###########################################################
REM
REM ###########################################################
cd %WSDL_DIR%\
call "%JAVA_HOME%\bin\javadoc" -Xdoclint:none -d docs -sourcepath srcx
com.novell.groupwise.ws

cd %WSDL_DIR%
goto END

:END
@echo ON

Let me know if you have questions with what the batch file does.
Preston


>>>


> We have a mixture of 2014r2 and 2012 post offices. We have an
> application that uses java to do SOAP calls into mailboxes to pull data.
> We have developed the application using gwws.jar for making SOAP calls
> with JDK 1.7. Recently we upgraded JDK to 1.8 and this application is
> unable to contact the GroupWise server.
>
>
> Error description: Caused by: Couldn't create SOAP message factory due
> to exception: javax.xml.soap.SOAPException: Unable to create message
> factory for SOAP:
> com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl cannot
> be cast to javax.xml.soap.MessageFactory at
> com.sun.xml.rpc.soap.message.SOAPMessageContext.getMessageFactory(SOAPMe
> ssageContext.java:203)
> at
> com.sun.xml.rpc.soap.message.SOAPMessageContext.createMessage(SOAPMessag
> eContext.java:131)
> at
>

com.sun.xml.rpc.client.StreamingSenderState.<init>(StreamingSenderState.ja
> va:30)
> at com.sun.xml.rpc.client.StubBase._start(StubBase.java:92) at
> com.novell.groupwise.ws.GroupWisePortType_Stub.loginRequest(GroupWisePor
> tType_Stub.java:1581)
>
>
> SOAP SDK is from
> https://www.novell.com/developer/ndk/groupwise/groupwise_web_service_(so
> ap).html


0 Likes
avasisht Absent Member.
Absent Member.

Re: GroupWise SOAP calls are not working with JDK 1.8

Preston,

I have followed your steps and getting errors.



C:\Temp\gw>generategwsoap.bat > gwwsrun.txt
svn: E155007: None of the targets are working copies
File not found - *.xsd
File not found - *.wsdl
File not found - *.xsd
File not found - *.wsdl
Error: -classpath requires class path specification
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
where options include:
-d32 use a 32-bit data model if available
-d64 use a 64-bit data model if available
-server to select the "server" VM
The default VM is server.

-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A ; separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D<name>=<value>
set a system property
-verbose:[class|gc|jni]
enable verbose output
-version print product version and exit
-version:<value>
Warning: this feature is deprecated and will be removed
in a future release.
require the specified version to run
-showversion print product version and continue
-jre-restrict-search | -no-jre-restrict-search
Warning: this feature is deprecated and will be removed
in a future release.
include/exclude user private JREs in the version search
-? -help print this help message
-X print help on non-standard options
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions with specified granularity
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions with specified granularity
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:<libname>[=<options>]
load native agent library <libname>, e.g. -agentlib:hprof
see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
load Java programming language agent, see java.lang.instrument
-splash:<imagepath>
show splash screen with specified image
See http://www.oracle.com/technetwork/java/javase/documentation/index.html for more details.
The system cannot find the path specified.
The system cannot find the path specified.
'-b' is not recognized as an internal or external command,
operable program or batch file.
The system cannot find the path specified.
com : no such file or directory
wsdl : no such file or directory
java.io.FileNotFoundException: \trunk\webacc\java\lib\gwws.jar (The system cannot find the path specified)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:270)
at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
at java.io.FileOutputStream.<init>(FileOutputStream.java:101)
at sun.tools.jar.Main.run(Main.java:195)
at sun.tools.jar.Main.main(Main.java:1288)
The system cannot find the path specified.
javadoc: error - No packages or classes specified.
'com.novell.groupwise.ws' is not recognized as an internal or external command,
operable program or batch file.
The system cannot find the path specified.



-------------- Contents of gwwsrun.txt


C:\Temp\gw>if exist docs rmdir /s /q docs

C:\Temp\gw>mkdir docs

C:\Temp\gw>REM ################################################## #########

C:\Temp\gw>REM Set the directory macros

C:\Temp\gw>REM ################################################## #########

C:\Temp\gw>if "\trunk" == "" set WORK_BASE=\trunk

C:\Temp\gw>set WSDL_DIR=\trunk\webacc\wsdl

C:\Temp\gw>set METRO_HOME=\trunk\gdk\webaccess\metro

C:\Temp\gw>set WEBACC_JARLIB_DIR=\trunk\webacc\java\lib

C:\Temp\gw>REM ################################################## #########

C:\Temp\gw>REM Copy the schema files to the right directory

C:\Temp\gw>REM ################################################## #########

C:\Temp\gw>svn update \trunk\provider
Skipped '\trunk\provider'

C:\Temp\gw>xcopy /D /Y \trunk\provider\schemas\*.xsd \trunk\webacc\wsdl
0 File(s) copied

C:\Temp\gw>xcopy /D /Y \trunk\provider\schemas\*.wsdl \trunk\webacc\wsdl
0 File(s) copied

C:\Temp\gw>xcopy \trunk\webacc\wsdl\*.xsd build\classes\wsdl
0 File(s) copied

C:\Temp\gw>xcopy \trunk\webacc\wsdl\*.wsdl build\classes\wsdl
0 File(s) copied

C:\Temp\gw>REM ################################################## #########

C:\Temp\gw>REM

C:\Temp\gw>REM ################################################## #########

C:\Temp\gw>set WSIMPORT_OPTS=-b metro.xjb -b serialization.xml -Xendorsed -wsdllocation /wsdl/groupwise.wsdl ./groupwise.wsdl -p com.novell.groupwise.ws -keep -s srcx -d build\classes

C:\Temp\gw>REM call \trunk\gdk\webaccess\metro\bin\wsimport -b metro.xjb -b serialization.xml -Xendorsed -wsdllocation /wsdl/groupwise.wsdl ./groupwise.wsdl -p com.novell.groupwise.ws -keep -s srcx -d build\classes

C:\Temp\gw>call "C:\Program Files\Java\jdk1.8.0_181\bin\java" -classpath

C:\Temp\gw>\trunk\gdk\webaccess\metro\lib\webservices-rt.jar;\trunk\gdk\webaccess\metro\lib\webservices-tools.jar;

C:\Temp\gw>METRO_HOME\lib\webservices-api.jar com.sun.tools.ws.WsImport

C:\Temp\gw>-b metro.xjb -b serialization.xml -Xendorsed -wsdllocation /wsdl/groupwise.wsdl ./groupwise.wsdl -p com.novell.groupwise.ws -keep -s srcx -d build\classes

C:\Temp\gw>REM ################################################## #########

C:\Temp\gw>REM

C:\Temp\gw>REM ################################################## #########

C:\Temp\gw>cd \trunk\webacc\wsdl\build\classes

C:\Temp\gw>call "C:\Program Files\Java\jdk1.8.0_181\bin\jar" -cvf \trunk\webacc\java\lib\gwws.jar com wsdl

C:\Temp\gw>REM ################################################## #########

C:\Temp\gw>REM

C:\Temp\gw>REM ################################################## #########

C:\Temp\gw>cd \trunk\webacc\wsdl\

C:\Temp\gw>call "C:\Program Files\Java\jdk1.8.0_181\bin\javadoc" -Xdoclint:none -d docs -sourcepath srcx
Usage: javadoc [options] [packagenames] [sourcefiles] [@files]
-overview <file> Read overview documentation from HTML file
-public Show only public classes and members
-protected Show protected/public classes and members (default)
-package Show package/protected/public classes and members
-private Show all classes and members
-help Display command line options and exit
-doclet <class> Generate output via alternate doclet
-docletpath <path> Specify where to find doclet class files
-sourcepath <pathlist> Specify where to find source files
-classpath <pathlist> Specify where to find user class files
-cp <pathlist> Specify where to find user class files
-exclude <pkglist> Specify a list of packages to exclude
-subpackages <subpkglist> Specify subpackages to recursively load
-breakiterator Compute first sentence with BreakIterator
-bootclasspath <pathlist> Override location of class files loaded
by the bootstrap class loader
-source <release> Provide source compatibility with specified release
-extdirs <dirlist> Override location of installed extensions
-verbose Output messages about what Javadoc is doing
-locale <name> Locale to be used, e.g. en_US or en_US_WIN
-encoding <name> Source file encoding name
-quiet Do not display status messages
-J<flag> Pass <flag> directly to the runtime system
-X Print a synopsis of nonstandard options and exit

Provided by Standard doclet:
-d <directory> Destination directory for output files
-use Create class and package usage pages
-version Include @version paragraphs
-author Include @author paragraphs
-docfilessubdirs Recursively copy doc-file subdirectories
-splitindex Split index into one file per letter
-windowtitle <text> Browser window title for the documentation
-doctitle <html-code> Include title for the overview page
-header <html-code> Include header text for each page
-footer <html-code> Include footer text for each page
-top <html-code> Include top text for each page
-bottom <html-code> Include bottom text for each page
-link <url> Create links to javadoc output at <url>
-linkoffline <url> <url2> Link to docs at <url> using package list at <url2>
-excludedocfilessubdir <name1>:.. Exclude any doc-files subdirectories with given name.
-group <name> <p1>:<p2>.. Group specified packages together in overview page
-nocomment Suppress description and tags, generate only declarations.
-nodeprecated Do not include @deprecated information
-noqualifier <name1>:<name2>:... Exclude the list of qualifiers from the output.
-nosince Do not include @since information
-notimestamp Do not include hidden time stamp
-nodeprecatedlist Do not generate deprecated list
-notree Do not generate class hierarchy
-noindex Do not generate index
-nohelp Do not generate help link
-nonavbar Do not generate navigation bar
-serialwarn Generate warning about @serial tag
-tag <name>:<locations>:<header> Specify single argument custom tags
-taglet The fully qualified name of Taglet to register
-tagletpath The path to Taglets
-charset <charset> Charset for cross-platform viewing of generated documentation.
-helpfile <file> Include file that help link links to
-linksource Generate source in HTML
-sourcetab <tab length> Specify the number of spaces each tab takes up in the source
-keywords Include HTML meta tags with package, class and member info
-stylesheetfile <path> File to change style of the generated documentation
-docencoding <name> Specify the character encoding for the output
1 error

C:\Temp\gw>com.novell.groupwise.ws

C:\Temp\gw>cd \trunk\webacc\wsdl

C:\Temp\gw>goto END
0 Likes
Anonymous_User Absent Member.
Absent Member.

Re: GroupWise SOAP calls are not working with JDK 1.8

The batch file was set up for a directory structure on my computer.
My directory structure was based on a root directory of:
\trunk

The files are based relative to that base path.
You can't just run the batch file and expect it to work.
(The batch file was just given as an example.)

You need to set up your own directory structure.
You need to copy in the SOAP schema files.
You need to reference a Java SOAP library.

Your batch file needs to setup your environment to run the equivalent of:
call "%JAVA_HOME%\bin\java" -classpath
%METRO_HOME%\lib\webservices-rt.jar;%METRO_HOME%\lib\webservices-tools.jar;%
METRO_HOME%\libwebservices-api.jar com.sun.tools.ws.WsImport
%WSIMPORT_OPTS%

You need to run the equivalent wsimport function.

Preston


>>>


> Preston,
>
> I have followed your steps and getting errors.
>
>
>
> C:\Temp\gw>generategwsoap.bat > gwwsrun.txt
> svn: E155007: None of the targets are working copies
> File not found ‑ *.xsd
> File not found ‑ *.wsdl
> File not found ‑ *.xsd
> File not found ‑ *.wsdl
> Error: ‑classpath requires class path specification
> Usage: java [‑options] class [args...]
> (to execute a class)
> or java [‑options] ‑jar jarfile [args...]
> (to execute a jar file)
> where options include:
> ‑d32 use a 32‑bit data model if available
> ‑d64 use a 64‑bit data model if available
> ‑server to select the "server" VM
> The default VM is server.
>
> ‑cp <class search path of directories and zip/jar files>
> ‑classpath <class search path of directories and zip/jar files>
> A ; separated list of directories, JAR archives,
> and ZIP archives to search for class files.
> ‑D<name>=<value>
> set a system property
> ‑verbose:[class|gc|jni]
> enable verbose output
> ‑version print product version and exit
> ‑version:<value>
> Warning: this feature is deprecated and will be
> removed
> in a future release.
> require the specified version to run
> ‑showversion print product version and continue
> ‑jre‑restrict‑search | ‑no‑jre‑restrict‑search
> Warning: this feature is deprecated and will be
> removed
> in a future release.
> include/exclude user private JREs in the version
> search
> ‑? ‑help print this help message
> ‑X print help on non‑standard options
> ‑ea[:<packagename>...|:<classname>]
> ‑enableassertions[:<packagename>...|:<classname>]
> enable assertions with specified granularity
> ‑da[:<packagename>...|:<classname>]
> ‑disableassertions[:<packagename>...|:<classname>]
> disable assertions with specified granularity
> ‑esa | ‑enablesystemassertions
> enable system assertions
> ‑dsa | ‑disablesystemassertions
> disable system assertions
> ‑agentlib:<libname>[=<options>]
> load native agent library <libname>, e.g.
> ‑agentlib:hprof
> see also, ‑agentlib:jdwp=help and
> ‑agentlib:hprof=help
> ‑agentpath:<pathname>[=<options>]
> load native agent library by full pathname
> ‑javaagent:<jarpath>[=<options>]
> load Java programming language agent, see
> java.lang.instrument
> ‑splash:<imagepath>
> show splash screen with specified image
> See
> http://www.oracle.com/technetwork/java/javase/documentation/index.html
> for more details.
> The system cannot find the path specified.
> The system cannot find the path specified.
> '‑b' is not recognized as an internal or external command,
> operable program or batch file.
> The system cannot find the path specified.
> com : no such file or directory
> wsdl : no such file or directory
> java.io.FileNotFoundException: \trunk\webacc\java\lib\gwws.jar (The
> system cannot find the path specified)
> at java.io.FileOutputStream.open0(Native Method)
> at java.io.FileOutputStream.open(FileOutputStream.java:270)
> at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
> at java.io.FileOutputStream.<init>(FileOutputStream.java:101)
> at sun.tools.jar.Main.run(Main.java:195)
> at sun.tools.jar.Main.main(Main.java:1288)
> The system cannot find the path specified.
> javadoc: error ‑ No packages or classes specified.
> 'com.novell.groupwise.ws' is not recognized as an internal or external
> command,
> operable program or batch file.
> The system cannot find the path specified.
>
>
>
> ‑‑‑‑‑‑‑‑‑‑‑‑‑‑ Contents of gwwsrun.txt
>
>
> C:\Temp\gw>if exist docs rmdir /s /q docs
>
> C:\Temp\gw>mkdir docs
>
> C:\Temp\gw>REM ##################################################
> #########
>
> C:\Temp\gw>REM Set the directory macros
>
> C:\Temp\gw>REM ##################################################
> #########
>
> C:\Temp\gw>if "\trunk" == "" set WORK_BASE=\trunk
>
> C:\Temp\gw>set WSDL_DIR=\trunk\webacc\wsdl
>
> C:\Temp\gw>set METRO_HOME=\trunk\gdk\webaccess\metro
>
> C:\Temp\gw>set WEBACC_JARLIB_DIR=\trunk\webacc\java\lib
>
> C:\Temp\gw>REM ##################################################
> #########
>
> C:\Temp\gw>REM Copy the schema files to the right directory
>
> C:\Temp\gw>REM ##################################################
> #########
>
> C:\Temp\gw>svn update \trunk\provider
> Skipped '\trunk\provider'
>
> C:\Temp\gw>xcopy /D /Y \trunk\provider\schemas\*.xsd \trunk\webacc\wsdl
>
> 0 File(s) copied
>
> C:\Temp\gw>xcopy /D /Y \trunk\provider\schemas\*.wsdl \trunk\webacc\wsdl
>
> 0 File(s) copied
>
> C:\Temp\gw>xcopy \trunk\webacc\wsdl\*.xsd build\classes\wsdl
> 0 File(s) copied
>
> C:\Temp\gw>xcopy \trunk\webacc\wsdl\*.wsdl build\classes\wsdl
> 0 File(s) copied
>
> C:\Temp\gw>REM ##################################################
> #########
>
> C:\Temp\gw>REM
>
> C:\Temp\gw>REM ##################################################
> #########
>
> C:\Temp\gw>set WSIMPORT_OPTS=‑b metro.xjb ‑b serialization.xml
> ‑Xendorsed ‑wsdllocation /wsdl/groupwise.wsdl ./groupwise.wsdl ‑p
> com.novell.groupwise.ws ‑keep ‑s srcx ‑d build\classes
>
> C:\Temp\gw>REM call \trunk\gdk\webaccess\metro\bin\wsimport ‑b

metro.xjb
> ‑b serialization.xml ‑Xendorsed ‑wsdllocation /wsdl/groupwise.wsdl
> ./groupwise.wsdl ‑p com.novell.groupwise.ws ‑keep ‑s srcx ‑d
> build\classes
>
> C:\Temp\gw>call "C:\Program Files\Java\jdk1.8.0_181\bin\java"

‑classpath
>
>
>

C:\Temp\gw>\trunk\gdk\webaccess\metro\lib\webservices‑rt.jar;\trunk\gdk\we

> baccess\metro\lib\webservices‑tools.jar;
>
>
> C:\Temp\gw>METRO_HOME\lib\webservices‑api.jar com.sun.tools.ws.WsImport
>
>
> C:\Temp\gw>‑b metro.xjb ‑b serialization.xml ‑Xendorsed

‑wsdllocation
> /wsdl/groupwise.wsdl ./groupwise.wsdl ‑p com.novell.groupwise.ws

‑keep
> ‑s srcx ‑d build\classes
>
> C:\Temp\gw>REM ##################################################
> #########
>
> C:\Temp\gw>REM
>
> C:\Temp\gw>REM ##################################################
> #########
>
> C:\Temp\gw>cd \trunk\webacc\wsdl\build\classes
>
> C:\Temp\gw>call "C:\Program Files\Java\jdk1.8.0_181\bin\jar" ‑cvf
> \trunk\webacc\java\lib\gwws.jar com wsdl
>
> C:\Temp\gw>REM ##################################################
> #########
>
> C:\Temp\gw>REM
>
> C:\Temp\gw>REM ##################################################
> #########
>
> C:\Temp\gw>cd \trunk\webacc\wsdl\
>
> C:\Temp\gw>call "C:\Program Files\Java\jdk1.8.0_181\bin\javadoc"
> ‑Xdoclint:none ‑d docs ‑sourcepath srcx
> Usage: javadoc [options] [packagenames] [sourcefiles] [@files]
> ‑overview <file> Read overview documentation from HTML
> file
> ‑public Show only public classes and members
> ‑protected Show protected/public classes and
> members (default)
> ‑package Show package/protected/public classes
> and members
> ‑private Show all classes and members
> ‑help Display command line options and
> exit
> ‑doclet <class> Generate output via alternate doclet
> ‑docletpath <path> Specify where to find doclet class
> files
> ‑sourcepath <pathlist> Specify where to find source files
> ‑classpath <pathlist> Specify where to find user class
> files
> ‑cp <pathlist> Specify where to find user class
> files
> ‑exclude <pkglist> Specify a list of packages to
> exclude
> ‑subpackages <subpkglist> Specify subpackages to recursively
> load
> ‑breakiterator Compute first sentence with
> BreakIterator
> ‑bootclasspath <pathlist> Override location of class files
> loaded
> by the bootstrap class loader
> ‑source <release> Provide source compatibility with
> specified release
> ‑extdirs <dirlist> Override location of installed
> extensions
> ‑verbose Output messages about what Javadoc is
> doing
> ‑locale <name> Locale to be used, e.g. en_US or
> en_US_WIN
> ‑encoding <name> Source file encoding name
> ‑quiet Do not display status messages
> ‑J<flag> Pass <flag> directly to the runtime
> system
> ‑X Print a synopsis of nonstandard
> options and exit
>
> Provided by Standard doclet:
> ‑d <directory> Destination directory for output
> files
> ‑use Create class and package usage pages
> ‑version Include @version paragraphs
> ‑author Include @author paragraphs
> ‑docfilessubdirs Recursively copy doc‑file
> subdirectories
> ‑splitindex Split index into one file per letter
> ‑windowtitle <text> Browser window title for the
> documentation
> ‑doctitle <html‑code> Include title for the overview page
> ‑header <html‑code> Include header text for each page
> ‑footer <html‑code> Include footer text for each page
> ‑top <html‑code> Include top text for each page
> ‑bottom <html‑code> Include bottom text for each page
> ‑link <url> Create links to javadoc output at
> <url>
> ‑linkoffline <url> <url2> Link to docs at <url> using package
> list at <url2>
> ‑excludedocfilessubdir <name1>:.. Exclude any doc‑files

subdirectories
> with given name.
> ‑group <name> <p1>:<p2>.. Group specified packages together in
> overview page
> ‑nocomment Suppress description and tags,
> generate only declarations.
> ‑nodeprecated Do not include @deprecated
> information
> ‑noqualifier <name1>:<name2>:... Exclude the list of qualifiers from
> the output.
> ‑nosince Do not include @since information
> ‑notimestamp Do not include hidden time stamp
> ‑nodeprecatedlist Do not generate deprecated list
> ‑notree Do not generate class hierarchy
> ‑noindex Do not generate index
> ‑nohelp Do not generate help link
> ‑nonavbar Do not generate navigation bar
> ‑serialwarn Generate warning about @serial tag
> ‑tag <name>:<locations>:<header> Specify single argument custom tags
> ‑taglet The fully qualified name of Taglet to
> register
> ‑tagletpath The path to Taglets
> ‑charset <charset> Charset for cross‑platform viewing

of
> generated documentation.
> ‑helpfile <file> Include file that help link links to
> ‑linksource Generate source in HTML
> ‑sourcetab <tab length> Specify the number of spaces each tab
> takes up in the source
> ‑keywords Include HTML meta tags with package,
> class and member info
> ‑stylesheetfile <path> File to change style of the generated
> documentation
> ‑docencoding <name> Specify the character encoding for
> the output
> 1 error
>
> C:\Temp\gw>com.novell.groupwise.ws
>
> C:\Temp\gw>cd \trunk\webacc\wsdl
>
> C:\Temp\gw>goto END


0 Likes
avasisht Absent Member.
Absent Member.

Re: GroupWise SOAP calls are not working with JDK 1.8

Preston,

Please, can you point to the latest GroupWise Software Developer Kit and its documentation?

Thank/Ajay
0 Likes
Anonymous_User Absent Member.
Absent Member.

Re: GroupWise SOAP calls are not working with JDK 1.8

It hasn't changed for a long time.
https://www.novell.com/developer/ndk/groupwise/groupwise_web_service_(soap).
html



>>>


> Preston,
>
> Please, can you point to the latest GroupWise Software Developer Kit and
> its documentation?
>
> Thank/Ajay


0 Likes
avasisht Absent Member.
Absent Member.

Re: GroupWise SOAP calls are not working with JDK 1.8

Hi Preston,

Is it possible to upload updated gwws.jar (compiled with Java 1.8) to Novell FTP site?

Thanks.
0 Likes
Anonymous_User Absent Member.
Absent Member.

Re: GroupWise SOAP calls are not working with JDK 1.8

Sorry, it is a little problematic.
It seems like there is a problem if you are not using the particular Java
SOAP library.
(I believe there have been crashes if you use a gwws.jar file that doesn't
match your environment.)
There is also the problem of which version of the schema you need.

It is better for you to build the jar file that agrees with your
environment.

In our case,the code references the correct Java libraries.
(Which we have stored on our computers.)

Preston


>>>


> Hi Preston,
>
> Is it possible to upload updated gwws.jar (compiled with Java 1.8) to
> Novell FTP site?
>
> Thanks.


0 Likes
avasisht Absent Member.
Absent Member.

Re: GroupWise SOAP calls are not working with JDK 1.8

Preston,

I have got WSDL files from GroupWise server and modified batch file but getting error.

I have uploaded entire application folder (GroupWiseApp20181016.zip) on ftp.novell.com.


---------------Batch file

if exist docs rmdir /s /q docs
mkdir docs

REM ################################################## #########
REM Set the directory macros
REM ################################################## #########
if "%WORK_BASE%"=="" set WORK_BASE=C:\GroupWiseApp
set WSDL_DIR=C:\GroupWiseApp
set METRO_HOME=C:\GroupWiseApp\metro
set WEBACC_JARLIB_DIR=C:\GroupWiseApp

REM %WORK_BASE%\webacc\java\lib

REM ################################################## #########
REM Copy the schema files to the right directory
REM ################################################## #########
REM svn update %WORK_BASE%\provider %SVN_CREDS%
REM xcopy /D /Y %WORK_BASE%\provider\schemas\*.xsd %WSDL_DIR%
REM xcopy /D /Y %WORK_BASE%\provider\schemas\*.wsdl %WSDL_DIR%
REM xcopy %WSDL_DIR%\*.xsd build\classes\wsdl
REM xcopy %WSDL_DIR%\*.wsdl build\classes\wsdl

REM ################################################## #########
REM
REM ################################################## ######### %WSDL_DIR%\WSDL\ ./groupwise.wsdl
set WSIMPORT_OPTS=-b metro.xjb -b serialization.xml -Xendorsed -wsdllocation groupwise.wsdl groupwise.wsdl -p com.novell.groupwise.ws -keep -s src -d build\classes
REM call %METRO_HOME%\bin\wsimport %WSIMPORT_OPTS%
call "%JAVA_HOME%\bin\java" -classpath %METRO_HOME%\lib\webservices-rt.jar;%METRO_HOME%\lib\webservices-tools.jar;%METRO_HOME%\lib\webservices-api.jar com.sun.tools.ws.WsImport %WSIMPORT_OPTS%

REM ################################################## #########
REM
REM ################################################## #########
cd %WSDL_DIR%\build\classes
call "%JAVA_HOME%\bin\jar" -cvf %WEBACC_JARLIB_DIR%\gwws.jar com wsdl

REM ################################################## #########
REM
REM ################################################## #########
cd %WSDL_DIR%\
call "%JAVA_HOME%\bin\javadoc" -Xdoclint:none -d docs -sourcepath srcx com.novell.groupwise.ws

cd %WSDL_DIR%
goto END

:END
@echo ON

------------


------------- Error
Exception in thread "main" com.sun.xml.ws.streaming.XMLReaderException: Unable to create StAX reader or writer
at com.sun.xml.ws.api.streaming.XMLStreamReaderFactory.create(XMLStreamReaderFactory.java:166)
at com.sun.tools.ws.wscompile.WsimportOptions.parseBindings(WsimportOptions.java:589)
at com.sun.tools.ws.wscompile.WsimportTool.parseArguments(WsimportTool.java:383)
at com.sun.tools.ws.wscompile.WsimportTool.run(WsimportTool.java:202)
at com.sun.tools.ws.wscompile.WsimportTool.run(WsimportTool.java:183)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.sun.tools.ws.Invoker.invoke(Invoker.java:174)
at com.sun.tools.ws.WsImport.main(WsImport.java:57)
Caused by: java.io.FileNotFoundException: C:\GroupWiseApp\metro.xjb (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:146)
at java.io.FileInputStream.<init>(FileInputStream.java:101)
at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
at java.net.URL.openStream(URL.java:1037)
at com.sun.xml.ws.api.streaming.XMLStreamReaderFactory.create(XMLStreamReaderFactory.java:164)
... 10 more

-------------------------


I have also tried following command

C:\GroupWiseApp\metro\bin\wsimport.bat -Xendorsed -wsdllocation C:\GroupWiseApp\WSDL\groupwise.wsdl groupwise.wsdl -p com.novell.groupwise.ws -keep -s C:\GroupWiseApp\src -d build\classes

and getting following errors:

---------------

parsing WSDL...


[ERROR] Failed to generate Java signature: duplicate parameter name "id". Try one of these
1. Use JAXWS binding customization to rename the wsdl:part "delegateRes"
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.
line 188 of file:/C:/GroupWiseApp/groupwise.wsdl

[ERROR] Failed to generate Java signature: duplicate parameter name "id". Try one of these
1. Use JAXWS binding customization to rename the wsdl:part "delegateReq"
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.
line 185 of file:/C:/GroupWiseApp/groupwise.wsdl

[ERROR] Failed to generate Java signature: duplicate parameter name "items". Try one of these
1. Use JAXWS binding customization to rename the wsdl:part "getArchiveItemsRes"
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.
line 237 of file:/C:/GroupWiseApp/groupwise.wsdl

[ERROR] Failed to generate Java signature: duplicate parameter name "items". Try one of these
1. Use JAXWS binding customization to rename the wsdl:part "getArchiveItemsReq"
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.
line 234 of file:/C:/GroupWiseApp/groupwise.wsdl

[ERROR] Failed to generate Java signature: duplicate parameter name "items". Try one of these
1. Use JAXWS binding customization to rename the wsdl:part "getItemsRes"
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.
line 328 of file:/C:/GroupWiseApp/groupwise.wsdl

[ERROR] Failed to generate Java signature: duplicate parameter name "items". Try one of these
1. Use JAXWS binding customization to rename the wsdl:part "getItemsReq"
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.
line 325 of file:/C:/GroupWiseApp/groupwise.wsdl

[ERROR] Failed to generate Java signature: duplicate parameter name "backup". Try one of these
1. Use JAXWS binding customization to rename the wsdl:part "getTimestampRes"
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.
line 440 of file:/C:/GroupWiseApp/groupwise.wsdl

[ERROR] Failed to generate Java signature: duplicate parameter name "backup". Try one of these
1. Use JAXWS binding customization to rename the wsdl:part "getTimestampReq"
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.
line 437 of file:/C:/GroupWiseApp/groupwise.wsdl

[ERROR] Failed to generate Java signature: duplicate parameter name "retention". Try one of these
1. Use JAXWS binding customization to rename the wsdl:part "getTimestampRes"
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.
line 440 of file:/C:/GroupWiseApp/groupwise.wsdl

[ERROR] Failed to generate Java signature: duplicate parameter name "retention". Try one of these
1. Use JAXWS binding customization to rename the wsdl:part "getTimestampReq"
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.
line 437 of file:/C:/GroupWiseApp/groupwise.wsdl

[ERROR] Failed to generate Java signature: duplicate parameter name "retentionModified". Try one of these
1. Use JAXWS binding customization to rename the wsdl:part "getTimestampRes"
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.
line 440 of file:/C:/GroupWiseApp/groupwise.wsdl

[ERROR] Failed to generate Java signature: duplicate parameter name "retentionModified". Try one of these
1. Use JAXWS binding customization to rename the wsdl:part "getTimestampReq"
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.
line 437 of file:/C:/GroupWiseApp/groupwise.wsdl

[ERROR] Failed to generate Java signature: duplicate parameter name "id". Try one of these
1. Use JAXWS binding customization to rename the wsdl:part "modifyItemRes"
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.
line 522 of file:/C:/GroupWiseApp/groupwise.wsdl

[ERROR] Failed to generate Java signature: duplicate parameter name "id". Try one of these
1. Use JAXWS binding customization to rename the wsdl:part "modifyItemReq"
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.
line 519 of file:/C:/GroupWiseApp/groupwise.wsdl

Failed to parse the WSDL.
----------------------


Please advise.

Thanks/Ajay
0 Likes
Anonymous_User Absent Member.
Absent Member.

Re: GroupWise SOAP calls are not working with JDK 1.8

It looks like you were missing two files:
metro.xjb
serialization.xml

I've posted an updated project file:
ftp://ftp.novell.com/outgoing/GroupWiseApp.zip

(If you still have problems, the included gwws.jar file that I built should
work.)

Let me know if you issues downloading it.

Preston


>>>


> Preston,
>
> I have got WSDL files from GroupWise server and modified batch file but
> getting error.
>
> I have uploaded entire application folder (GroupWiseApp20181016.zip) on
> ftp.novell.com.
>
>
> ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑Batch file
>
>
> if exist docs rmdir /s /q docs
> mkdir docs
>
> REM ################################################## #########
> REM Set the directory macros
> REM ################################################## #########
> if "%WORK_BASE%"=="" set WORK_BASE=C:\GroupWiseApp
> set WSDL_DIR=C:\GroupWiseApp
> set METRO_HOME=C:\GroupWiseApp\metro
> set WEBACC_JARLIB_DIR=C:\GroupWiseApp
>
> REM %WORK_BASE%\webacc\java\lib
>
> REM ################################################## #########
> REM Copy the schema files to the right directory
> REM ################################################## #########
> REM svn update %WORK_BASE%\provider %SVN_CREDS%
> REM xcopy /D /Y %WORK_BASE%\provider\schemas\*.xsd %WSDL_DIR%
> REM xcopy /D /Y %WORK_BASE%\provider\schemas\*.wsdl %WSDL_DIR%
> REM xcopy %WSDL_DIR%\*.xsd build\classes\wsdl
> REM xcopy %WSDL_DIR%\*.wsdl build\classes\wsdl
>
> REM ################################################## #########
> REM
> REM ################################################## #########
> %WSDL_DIR%\WSDL\ ./groupwise.wsdl
> set WSIMPORT_OPTS=‑b metro.xjb ‑b serialization.xml ‑Xendorsed
> ‑wsdllocation groupwise.wsdl groupwise.wsdl ‑p

com.novell.groupwise.ws
> ‑keep ‑s src ‑d build\classes
> REM call %METRO_HOME%\bin\wsimport %WSIMPORT_OPTS%
> call "%JAVA_HOME%\bin\java" ‑classpath
>

%METRO_HOME%\lib\webservices‑rt.jar;%METRO_HOME%\lib\webservices‑tools.j
ar
> ;%METRO_HOME%\lib\webservices‑api.jar
> com.sun.tools.ws.WsImport %WSIMPORT_OPTS%
>
> REM ################################################## #########
> REM
> REM ################################################## #########
> cd %WSDL_DIR%\build\classes
> call "%JAVA_HOME%\bin\jar" ‑cvf %WEBACC_JARLIB_DIR%\gwws.jar com wsdl
>
> REM ################################################## #########
> REM
> REM ################################################## #########
> cd %WSDL_DIR%\
> call "%JAVA_HOME%\bin\javadoc" ‑Xdoclint:none ‑d docs ‑sourcepath

srcx
> com.novell.groupwise.ws
>
> cd %WSDL_DIR%
> goto END
>
> :END
> @echo ON
>
> ‑‑‑‑‑‑‑‑‑‑‑‑
>
>
> ‑‑‑‑‑‑‑‑‑‑‑‑‑ Error
> Exception in thread "main" com.sun.xml.ws.streaming.XMLReaderException:
> Unable to create StAX reader or writer
> at
> com.sun.xml.ws.api.streaming.XMLStreamReaderFactory.create(XMLStreamRead
> erFactory.java:166)
> at
> com.sun.tools.ws.wscompile.WsimportOptions.parseBindings(WsimportOptions
> .java:589)
> at
> com.sun.tools.ws.wscompile.WsimportTool.parseArguments(WsimportTool.java
> :383)
> at
> com.sun.tools.ws.wscompile.WsimportTool.run(WsimportTool.java:202)
> at
> com.sun.tools.ws.wscompile.WsimportTool.run(WsimportTool.java:183)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
> a:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
> Impl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at com.sun.tools.ws.Invoker.invoke(Invoker.java:174)
> at com.sun.tools.ws.WsImport.main(WsImport.java:57)
> Caused by: java.io.FileNotFoundException: C:\GroupWiseApp\metro.xjb (The
> system cannot find the file specified)
> at java.io.FileInputStream.open(Native Method)
> at java.io.FileInputStream.<init>(FileInputStream.java:146)
> at java.io.FileInputStream.<init>(FileInputStream.java:101)
> at
> sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.ja
> va:90)
> at
> sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnec
> tion.java:188)
> at java.net.URL.openStream(URL.java:1037)
> at
> com.sun.xml.ws.api.streaming.XMLStreamReaderFactory.create(XMLStreamRead
> erFactory.java:164)
> ... 10 more
>
>

‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
>
>
> I have also tried following command
>
> C:\GroupWiseApp\metro\bin\wsimport.bat ‑Xendorsed ‑wsdllocation
> C:\GroupWiseApp\WSDL\groupwise.wsdl groupwise.wsdl ‑p
> com.novell.groupwise.ws ‑keep ‑s C:\GroupWiseApp\src ‑d

build\classes
>
> and getting following errors:
>
> ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
>
> parsing WSDL...
>
>
> [ERROR] Failed to generate Java signature: duplicate parameter name
> "id". Try one of these
> 1. Use JAXWS binding customization to rename the wsdl:part
> "delegateRes"
> 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.
> line 188 of file:/C:/GroupWiseApp/groupwise.wsdl
>
> [ERROR] Failed to generate Java signature: duplicate parameter name
> "id". Try one of these
> 1. Use JAXWS binding customization to rename the wsdl:part
> "delegateReq"
> 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.
> line 185 of file:/C:/GroupWiseApp/groupwise.wsdl
>
> [ERROR] Failed to generate Java signature: duplicate parameter name
> "items". Try one of these
> 1. Use JAXWS binding customization to rename the wsdl:part
> "getArchiveItemsRes"
> 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.
> line 237 of file:/C:/GroupWiseApp/groupwise.wsdl
>
> [ERROR] Failed to generate Java signature: duplicate parameter name
> "items". Try one of these
> 1. Use JAXWS binding customization to rename the wsdl:part
> "getArchiveItemsReq"
> 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.
> line 234 of file:/C:/GroupWiseApp/groupwise.wsdl
>
> [ERROR] Failed to generate Java signature: duplicate parameter name
> "items". Try one of these
> 1. Use JAXWS binding customization to rename the wsdl:part
> "getItemsRes"
> 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.
> line 328 of file:/C:/GroupWiseApp/groupwise.wsdl
>
> [ERROR] Failed to generate Java signature: duplicate parameter name
> "items". Try one of these
> 1. Use JAXWS binding customization to rename the wsdl:part
> "getItemsReq"
> 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.
> line 325 of file:/C:/GroupWiseApp/groupwise.wsdl
>
> [ERROR] Failed to generate Java signature: duplicate parameter name
> "backup". Try one of these
> 1. Use JAXWS binding customization to rename the wsdl:part
> "getTimestampRes"
> 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.
> line 440 of file:/C:/GroupWiseApp/groupwise.wsdl
>
> [ERROR] Failed to generate Java signature: duplicate parameter name
> "backup". Try one of these
> 1. Use JAXWS binding customization to rename the wsdl:part
> "getTimestampReq"
> 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.
> line 437 of file:/C:/GroupWiseApp/groupwise.wsdl
>
> [ERROR] Failed to generate Java signature: duplicate parameter name
> "retention". Try one of these
> 1. Use JAXWS binding customization to rename the wsdl:part
> "getTimestampRes"
> 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.
> line 440 of file:/C:/GroupWiseApp/groupwise.wsdl
>
> [ERROR] Failed to generate Java signature: duplicate parameter name
> "retention". Try one of these
> 1. Use JAXWS binding customization to rename the wsdl:part
> "getTimestampReq"
> 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.
> line 437 of file:/C:/GroupWiseApp/groupwise.wsdl
>
> [ERROR] Failed to generate Java signature: duplicate parameter name
> "retentionModified". Try one of these
> 1. Use JAXWS binding customization to rename the wsdl:part
> "getTimestampRes"
> 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.
> line 440 of file:/C:/GroupWiseApp/groupwise.wsdl
>
> [ERROR] Failed to generate Java signature: duplicate parameter name
> "retentionModified". Try one of these
> 1. Use JAXWS binding customization to rename the wsdl:part
> "getTimestampReq"
> 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.
> line 437 of file:/C:/GroupWiseApp/groupwise.wsdl
>
> [ERROR] Failed to generate Java signature: duplicate parameter name
> "id". Try one of these
> 1. Use JAXWS binding customization to rename the wsdl:part
> "modifyItemRes"
> 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.
> line 522 of file:/C:/GroupWiseApp/groupwise.wsdl
>
> [ERROR] Failed to generate Java signature: duplicate parameter name
> "id". Try one of these
> 1. Use JAXWS binding customization to rename the wsdl:part
> "modifyItemReq"
> 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.
> line 519 of file:/C:/GroupWiseApp/groupwise.wsdl
>
> Failed to parse the WSDL.
> ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
>
>
> Please advise.
>
> Thanks/Ajay


0 Likes
avasisht Absent Member.
Absent Member.

Re: GroupWise SOAP calls are not working with JDK 1.8

I was able to download zip file from the FTP site. Thank you, Preston!

I have made changes in the application code w.r.t. the new gwws.jar file. Please, can you tell me if any additional parameter for login request and how to set session in the logout request.


--- Runtime error with current code----------
java.lang.UnsupportedClassVersionError: com/novell/groupwise/ws/LogoutRequest : Unsupported major.minor version 52.0 (unable to load class com.novell.groupwise.ws.LogoutRequest)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2961)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1210)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1690)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)


java.lang.UnsupportedClassVersionError: com/novell/groupwise/ws/Authentication : Unsupported major.minor version 52.0 (unable to load class com.novell.groupwise.ws.Authentication)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2961)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1210)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1690)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
-------------------------



------------ application code - GWLogin.java

package com.store_portal.groupwise.util;

import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.novell.groupwise.ws.*;
import javax.xml.rpc.Stub;
import java.math.BigDecimal;


public class GWLogin {



// GroupWise Client Web Service
GroupWisePortType m_gwservice;

// GroupWise Events Web Service
GroupWiseEventsPortType m_gwEventservice;

LoginResponse m_loginResponse;
private String serverIPAddress;
private String portNumber;
private String userId;
private String password;
private String session;
private String userName;
private String emailAddress;
private String uUID;
private String status;
private String statusDescription;

private NameAndEmail m_user;
private static Log _log = LogFactoryUtil.getLog(GWLogin.class);

/** Creates a new instance of GWLogin */
public GWLogin( )
{
}

public GWLogin(String serverIPAddress, String portNumber, String userId, String password )
{
setServerIPAddress(serverIPAddress);
setPortNumber(portNumber);
setUserId(userId);
setPassword(password);
}

// Main GroupWise Service. Use this to access the GroupWise SOAP methods and types.
public GroupWisePortType getGWService()
{
return m_gwservice;
}


// Events GroupWise Service. Use this to access the GroupWise Events methods and types.
public GroupWiseEventsPortType getGWEventsService()
{
return m_gwEventservice;
}



public LoginResponse getLoginResponse(){
return m_loginResponse;
}



public NameAndEmail getUser() {
return m_user;
}



/**
* @return the m_gwservice
*/
public GroupWisePortType getM_gwservice() {
return m_gwservice;
}

/**
* @param m_gwservice the m_gwservice to set
*/
public void setM_gwservice(GroupWisePortType m_gwservice) {
this.m_gwservice = m_gwservice;
}

/**
* @return the m_gwEventservice
*/
public GroupWiseEventsPortType getM_gwEventservice() {
return m_gwEventservice;
}

/**
* @param m_gwEventservice the m_gwEventservice to set
*/
public void setM_gwEventservice(GroupWiseEventsPortType m_gwEventservice) {
this.m_gwEventservice = m_gwEventservice;
}

/**
* @return the m_loginResponse
*/
public LoginResponse getM_loginResponse() {
return m_loginResponse;
}

/**
* @param m_loginResponse the m_loginResponse to set
*/
public void setM_loginResponse(LoginResponse m_loginResponse) {
this.m_loginResponse = m_loginResponse;
}

/**
* @return the serverIPAddress
*/
public String getServerIPAddress() {
return serverIPAddress;
}

/**
* @param serverIPAddress the serverIPAddress to set
*/
public void setServerIPAddress(String serverIPAddress) {
this.serverIPAddress = serverIPAddress;
}

/**
* @return the portNumber
*/
public String getPortNumber() {
return portNumber;
}

/**
* @param portNumber the portNumber to set
*/
public void setPortNumber(String portNumber) {
this.portNumber = portNumber;
}

/**
* @return the userId
*/
public String getUserId() {
return userId;
}

/**
* @param userId the userId to set
*/
public void setUserId(String userId) {
this.userId = userId;
}

/**
* @return the password
*/
public String getPassword() {
return password;
}

/**
* @param password the password to set
*/
public void setPassword(String password) {
this.password = password;
}

/**
* @return the session
*/
public String getSession() {
return session;
}

/**
* @param session the session to set
*/
public void setSession(String session) {
this.session = session;
}

/**
* @return the userName
*/
public String getUserName() {
return userName;
}

/**
* @param userName the userName to set
*/
public void setUserName(String userName) {
this.userName = userName;
}

/**
* @return the emailAddress
*/
public String getEmailAddress() {
return emailAddress;
}

/**
* @param emailAddress the emailAddress to set
*/
public void setEmailAddress(String emailAddress) {
this.emailAddress = emailAddress;
}

/**
* @return the uUID
*/
public String getuUID() {
return uUID;
}

/**
* @param uUID the uUID to set
*/
public void setuUID(String uUID) {
this.uUID = uUID;
}

/**
* @return the status
*/
public String getStatus() {
return status;
}

/**
* @param status the status to set
*/
public void setStatus(String status) {
this.status = status;
}

/**
* @return the statusDescription
*/
public String getStatusDescription() {
return statusDescription;
}

/**
* @param statusDescription the statusDescription to set
*/
public void setStatusDescription(String statusDescription) {
this.statusDescription = statusDescription;
}

/**
* @return the m_user
*/
public NameAndEmail getM_user() {
return m_user;
}

/**
* @param m_user the m_user to set
*/
public void setM_user(NameAndEmail m_user) {
this.m_user = m_user;
}

//--------------------------------------------------------------------------------------------
// Login Request
//
public boolean userLogin()
{

LoginRequest _loginRequest = new LoginRequest();
NameAndEmail _nameAndEmail = new NameAndEmail();
boolean loginStatus = false;
try {

String str = new String();

//-------------------------------------------------------------------------------
// Setup so that we can talk to GroupWise. gwws.jar is the proxy stubs have been created for this class.
Stub clientStub = (Stub)(new GroupwiseService().getGroupwiseSOAPPort());

//-------------------------------------------------------------------------------
// Setup an events stub
Stub eventsStub = (Stub)(new GroupwiseService().getGroupwiseEventsSOAPPort());

//-------------------------------------------------------------------------------
// Set the endpoint address the stub uses to access the service.
// Make sure to include /soap on the end of the URL
if(getServerIPAddress() != null && getPortNumber() != null)
{
String serviceAddress;
serviceAddress = "http://" + getServerIPAddress() + ":" + getPortNumber() + "/soap";
clientStub._setProperty(javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY, serviceAddress );
eventsStub._setProperty(javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY, serviceAddress);
}
else
{
//------------------------------------------------------------------------------
// Default POA
clientStub._setProperty(javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY, "http://localhost:7191/soap");
eventsStub._setProperty(javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY, "http://localhost:7191/soap");
}

//-------------------------------------------------------------------------------
// m_gwservice is now used to access the java methods that will communicate with the GW POA.
m_gwservice = (GroupWisePortType)clientStub;


//-------------------------------------------------------------------------------
// m_gwEventsService is now used to access the java events methods and types
m_gwEventservice = (GroupWiseEventsPortType)eventsStub;


com.novell.groupwise.ws.PlainText ptLogin = new PlainText();
if(getUserId() != null && getPassword() != null)
{

ptLogin.setUsername(getUserId());
ptLogin.setPassword(getPassword());
}



//---------------------------------------------------------------------------------------------
//Parameters for loginRequest
// 1. plaintext Login object
// 2. Language
// 3. Version - BigDecimal object
// 4. Application String

//m_loginResponse = m_gwservice.loginRequest((Authentication) ptLogin, "en", new BigDecimal(1.0), "Java Application", true, false);

_loginRequest.setAuth((Authentication) ptLogin);
_loginRequest.setLanguage("en");
_loginRequest.setApplication("Java Application");
_loginRequest.setVersion(new BigDecimal(1.0));
//_loginRequest.setUserid(arg0);
_loginRequest.setUserid(true);
_loginRequest.setSystem(false);
m_loginResponse = m_gwservice.loginRequest(_loginRequest); //((Authentication) ptLogin, "en", new BigDecimal(1.0), "Java Application", true, false);

if(m_loginResponse.getStatus().getCode() == 0 )
{
//---------------------------------------------------------------------------------------------
// Writing out the userInformation that was returned

//m_user = new NameAndEmail( m_loginResponse.getUserinfo().getName(),
//m_loginResponse.getUserinfo().getEmail(),
//m_loginResponse.getUserinfo().getUuid() );


_nameAndEmail.setDisplayName(m_loginResponse.getUserinfo().getName());
_nameAndEmail.setEmail(m_loginResponse.getUserinfo().getEmail());
_nameAndEmail.setUuid(m_loginResponse.getUserinfo().getUuid());


m_user = _nameAndEmail;

//str = "Name: " + m_loginResponse.getUserinfo().getName();
setUserName(m_loginResponse.getUserinfo().getName());
_log.info("User name : " + getUserName());

//str = "Email: " + m_loginResponse.getUserinfo().getEmail();
setEmailAddress(m_loginResponse.getUserinfo().getEmail());
_log.info("Email address : " + getEmailAddress());


//str = "Unique User id: " + m_loginResponse.getUserinfo().getUuid();
setuUID(m_loginResponse.getUserinfo().getUuid());
_log.info("UUID : " + getuUID());

//str = "Session: " + m_loginResponse.getSession();
setSession(m_loginResponse.getSession());
_log.info("Session : " + getSession());


str = " " + m_loginResponse.getStatus().getCode();
_log.info("Status : " + getStatus());

setStatus(str);

//str = "Status Description: " + "";
setStatusDescription("");
loginStatus = true;

}
else
{
// Problem encountered
str = " " + m_loginResponse.getStatus().getCode();
setStatus(str);

str = " " + m_loginResponse.getStatus().getDescription();
setStatusDescription(str);

loginStatus= false;
}
} catch (Exception ex) {
loginStatus= false;
_log.info("Problem login into system. No return code returned");
ex.printStackTrace();
}
return loginStatus;
}

//--------------------------------------------------------------------------------------------
// Logout Request
//
public boolean logoutButtonActionPerformed()
{
boolean logoutStatus = false;
LogoutRequest _logoutRequest = new LogoutRequest();

try {
// m_gwservice.logoutRequest(se, m_loginResponse.getSession());
//m_gwservice.logoutRequest( m_loginResponse.getSession(), false );

m_gwservice.logoutRequest(_logoutRequest); // ( m_loginResponse.getSession(), false );

logoutStatus= true;

} catch (Exception ex) {
logoutStatus= false;
ex.printStackTrace();
}
return logoutStatus;
}


} //end GWLogin.java
------------

Thanks/Ajay
0 Likes
Anonymous_User Absent Member.
Absent Member.

Re: GroupWise SOAP calls are not working with JDK 1.8

Sorry, I don't think I can help you.
I think the "Unsupported major.minor version 52.0"
has something to do with Java on a Java library.
I don't think I use WebappClassLoader.

If it is SOAP related, I usually need the SOAP trace
and I can help with that.

Preston


>>>


> I was able to download zip file from the FTP site. Thank you, Preston!
>
> I have made changes in the application code w.r.t. the new gwws.jar
> file. Please, can you tell me if any additional parameter for login
> request and how to set session in the logout request.
>
>
> ‑‑‑ Runtime error with current code‑‑‑‑‑‑‑‑‑‑
> java.lang.UnsupportedClassVersionError:
> com/novell/groupwise/ws/LogoutRequest : Unsupported major.minor version
> 52.0 (unable to load class com.novell.groupwise.ws.LogoutRequest)
> at
> org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappCla
> ssLoader.java:2961)
> at
> org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader
> .java:1210)
> at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader
> .java:1690)
> at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader
> .java:1571)
>
>
> java.lang.UnsupportedClassVersionError:
> com/novell/groupwise/ws/Authentication : Unsupported major.minor version
> 52.0 (unable to load class com.novell.groupwise.ws.Authentication)
> at
> org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappCla
> ssLoader.java:2961)
> at
> org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader
> .java:1210)
> at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader
> .java:1690)
> at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader
> .java:1571)
>

‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
>
>
>
> ‑‑‑‑‑‑‑‑‑‑‑‑ application code ‑ GWLogin.java
>
> package com.store_portal.groupwise.util;
>
> import com.liferay.portal.kernel.log.Log;
> import com.liferay.portal.kernel.log.LogFactoryUtil;
> import com.novell.groupwise.ws.*;
> import javax.xml.rpc.Stub;
> import java.math.BigDecimal;
>
>
> public class GWLogin {
>
>
>
> // GroupWise Client Web Service
> GroupWisePortType m_gwservice;
>
> // GroupWise Events Web Service
> GroupWiseEventsPortType m_gwEventservice;
>
> LoginResponse m_loginResponse;
> private String serverIPAddress;
> private String portNumber;
> private String userId;
> private String password;
> private String session;
> private String userName;
> private String emailAddress;
> private String uUID;
> private String status;
> private String statusDescription;
>
> private NameAndEmail m_user;
> private static Log _log = LogFactoryUtil.getLog(GWLogin.class);
>
> /** Creates a new instance of GWLogin */
> public GWLogin( )
> {
> }
>
> public GWLogin(String serverIPAddress, String portNumber, String
> userId, String password )
> {
> setServerIPAddress(serverIPAddress);
> setPortNumber(portNumber);
> setUserId(userId);
> setPassword(password);
> }
>
> // Main GroupWise Service. Use this to access the GroupWise SOAP
> methods and types.
> public GroupWisePortType getGWService()
> {
> return m_gwservice;
> }
>
>
> // Events GroupWise Service. Use this to access the GroupWise
> Events methods and types.
> public GroupWiseEventsPortType getGWEventsService()
> {
> return m_gwEventservice;
> }
>
>
>
> public LoginResponse getLoginResponse(){
> return m_loginResponse;
> }
>
>
>
> public NameAndEmail getUser() {
> return m_user;
> }
>
>
>
> /**
> * @return the m_gwservice
> */
> public GroupWisePortType getM_gwservice() {
> return m_gwservice;
> }
>
> /**
> * @param m_gwservice the m_gwservice to set
> */
> public void setM_gwservice(GroupWisePortType m_gwservice) {
> this.m_gwservice = m_gwservice;
> }
>
> /**
> * @return the m_gwEventservice
> */
> public GroupWiseEventsPortType getM_gwEventservice() {
> return m_gwEventservice;
> }
>
> /**
> * @param m_gwEventservice the m_gwEventservice to set
> */
> public void setM_gwEventservice(GroupWiseEventsPortType
> m_gwEventservice) {
> this.m_gwEventservice = m_gwEventservice;
> }
>
> /**
> * @return the m_loginResponse
> */
> public LoginResponse getM_loginResponse() {
> return m_loginResponse;
> }
>
> /**
> * @param m_loginResponse the m_loginResponse to set
> */
> public void setM_loginResponse(LoginResponse m_loginResponse) {
> this.m_loginResponse = m_loginResponse;
> }
>
> /**
> * @return the serverIPAddress
> */
> public String getServerIPAddress() {
> return serverIPAddress;
> }
>
> /**
> * @param serverIPAddress the serverIPAddress to set
> */
> public void setServerIPAddress(String serverIPAddress) {
> this.serverIPAddress = serverIPAddress;
> }
>
> /**
> * @return the portNumber
> */
> public String getPortNumber() {
> return portNumber;
> }
>
> /**
> * @param portNumber the portNumber to set
> */
> public void setPortNumber(String portNumber) {
> this.portNumber = portNumber;
> }
>
> /**
> * @return the userId
> */
> public String getUserId() {
> return userId;
> }
>
> /**
> * @param userId the userId to set
> */
> public void setUserId(String userId) {
> this.userId = userId;
> }
>
> /**
> * @return the password
> */
> public String getPassword() {
> return password;
> }
>
> /**
> * @param password the password to set
> */
> public void setPassword(String password) {
> this.password = password;
> }
>
> /**
> * @return the session
> */
> public String getSession() {
> return session;
> }
>
> /**
> * @param session the session to set
> */
> public void setSession(String session) {
> this.session = session;
> }
>
> /**
> * @return the userName
> */
> public String getUserName() {
> return userName;
> }
>
> /**
> * @param userName the userName to set
> */
> public void setUserName(String userName) {
> this.userName = userName;
> }
>
> /**
> * @return the emailAddress
> */
> public String getEmailAddress() {
> return emailAddress;
> }
>
> /**
> * @param emailAddress the emailAddress to set
> */
> public void setEmailAddress(String emailAddress) {
> this.emailAddress = emailAddress;
> }
>
> /**
> * @return the uUID
> */
> public String getuUID() {
> return uUID;
> }
>
> /**
> * @param uUID the uUID to set
> */
> public void setuUID(String uUID) {
> this.uUID = uUID;
> }
>
> /**
> * @return the status
> */
> public String getStatus() {
> return status;
> }
>
> /**
> * @param status the status to set
> */
> public void setStatus(String status) {
> this.status = status;
> }
>
> /**
> * @return the statusDescription
> */
> public String getStatusDescription() {
> return statusDescription;
> }
>
> /**
> * @param statusDescription the statusDescription to set
> */
> public void setStatusDescription(String statusDescription) {
> this.statusDescription = statusDescription;
> }
>
> /**
> * @return the m_user
> */
> public NameAndEmail getM_user() {
> return m_user;
> }
>
> /**
> * @param m_user the m_user to set
> */
> public void setM_user(NameAndEmail m_user) {
> this.m_user = m_user;
> }
>
>

//‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑â
€‘‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑â€
‘‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
> // Login Request
> //
> public boolean userLogin()
> {
>
> LoginRequest _loginRequest = new LoginRequest();
> NameAndEmail _nameAndEmail = new NameAndEmail();
> boolean loginStatus = false;
> try {
>
> String str = new String();
>
>
>

//‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑â€
‘‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑â
€‘‑‑‑
>
> // Setup so that we can talk to GroupWise. gwws.jar is the
> proxy stubs have been created for this class.
> Stub clientStub = (Stub)(new
> GroupwiseService().getGroupwiseSOAPPort());
>
>
>

//‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑â€
‘‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑â
€‘‑‑‑
>
> // Setup an events stub
> Stub eventsStub = (Stub)(new
> GroupwiseService().getGroupwiseEventsSOAPPort());
>
>
>

//‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑â€
‘‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑â
€‘‑‑‑
> // Set the endpoint address the stub uses to access the
> service.
> // Make sure to include /soap on the end of the URL
> if(getServerIPAddress() != null && getPortNumber() !=
> null)
> {
> String serviceAddress;
> serviceAddress = "http://" + getServerIPAddress() + ":"
> + getPortNumber() + "/soap";
>
> clientStub._setProperty(javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY,
> serviceAddress );
>
> eventsStub._setProperty(javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY,
> serviceAddress);
> }
> else
> {
>
>

//‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑â€
‘‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑â
€‘‑‑
> // Default POA
>
> clientStub._setProperty(javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY,
> "http://localhost:7191/soap");
>
> eventsStub._setProperty(javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY,
> "http://localhost:7191/soap");
> }
>
>
>

//‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑â€
‘‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑â
€‘‑‑‑
> // m_gwservice is now used to access the java methods that
> will communicate with the GW POA.
> m_gwservice = (GroupWisePortType)clientStub;
>
>
>
>

//‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑â€
‘‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑â
€‘‑‑‑
> // m_gwEventsService is now used to access the java events
> methods and types
> m_gwEventservice = (GroupWiseEventsPortType)eventsStub;
>
>
> com.novell.groupwise.ws.PlainText ptLogin = new
> PlainText();
> if(getUserId() != null && getPassword() != null)
> {
>
> ptLogin.setUsername(getUserId());
> ptLogin.setPassword(getPassword());
> }
>
>
>
>
>

//‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑â€
‘‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑â
€‘‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
> //Parameters for loginRequest
> // 1. plaintext Login object
> // 2. Language
> // 3. Version ‑ BigDecimal object
> // 4. Application String
>
> //m_loginResponse =
> m_gwservice.loginRequest((Authentication) ptLogin, "en", new
> BigDecimal(1.0), "Java Application", true, false);
>
> _loginRequest.setAuth((Authentication) ptLogin);
> _loginRequest.setLanguage("en");
> _loginRequest.setApplication("Java Application");
> _loginRequest.setVersion(new BigDecimal(1.0));
> //_loginRequest.setUserid(arg0);
> _loginRequest.setUserid(true);
> _loginRequest.setSystem(false);
> m_loginResponse = m_gwservice.loginRequest(_loginRequest);
> //((Authentication) ptLogin, "en", new BigDecimal(1.0), "Java
> Application", true, false);
>
> if(m_loginResponse.getStatus().getCode() == 0 )
> {
>
>

//‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑â€
‘‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑â
€‘‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
> // Writing out the userInformation that was returned
>
> //m_user = new NameAndEmail(
> m_loginResponse.getUserinfo().getName(),
> //m_loginResponse.getUserinfo().getEmail(),
> //m_loginResponse.getUserinfo().getUuid() );
>
>
>
> _nameAndEmail.setDisplayName(m_loginResponse.getUserinfo().getName());
>
> _nameAndEmail.setEmail(m_loginResponse.getUserinfo().getEmail());
>
> _nameAndEmail.setUuid(m_loginResponse.getUserinfo().getUuid());
>
>
> m_user = _nameAndEmail;
>
> //str = "Name: " +
> m_loginResponse.getUserinfo().getName();
> setUserName(m_loginResponse.getUserinfo().getName());
> _log.info("User name : " + getUserName());
>
> //str = "Email: " +
> m_loginResponse.getUserinfo().getEmail();
>
> setEmailAddress(m_loginResponse.getUserinfo().getEmail());
> _log.info("Email address : " + getEmailAddress());
>
>
> //str = "Unique User id: " +
> m_loginResponse.getUserinfo().getUuid();
> setuUID(m_loginResponse.getUserinfo().getUuid());
> _log.info("UUID : " + getuUID());
>
> //str = "Session: " +
> m_loginResponse.getSession();
> setSession(m_loginResponse.getSession());
> _log.info("Session : " + getSession());
>
>
> str = " " + m_loginResponse.getStatus().getCode();
> _log.info("Status : " + getStatus());
>
> setStatus(str);
>
> //str = "Status Description: " + "";
> setStatusDescription("");
> loginStatus = true;
>
> }
> else
> {
> // Problem encountered
> str = " " + m_loginResponse.getStatus().getCode();
> setStatus(str);
>
> str = " " +
> m_loginResponse.getStatus().getDescription();
> setStatusDescription(str);
>
> loginStatus= false;
> }
> } catch (Exception ex) {
> loginStatus= false;
> _log.info("Problem login into system. No return code
> returned");
> ex.printStackTrace();
> }
> return loginStatus;
> }
>
>
>

//‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑â€
‘‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑â
€‘‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
> // Logout Request
> //
> public boolean logoutButtonActionPerformed()
> {
> boolean logoutStatus = false;
> LogoutRequest _logoutRequest = new LogoutRequest();
>
> try {
> // m_gwservice.logoutRequest(se,
> m_loginResponse.getSession());
> //m_gwservice.logoutRequest( m_loginResponse.getSession(), false );
>
> m_gwservice.logoutRequest(_logoutRequest); // (
> m_loginResponse.getSession(), false );
>
> logoutStatus= true;
>
> } catch (Exception ex) {
> logoutStatus= false;
> ex.printStackTrace();
> }
> return logoutStatus;
> }
>
>
> } //end GWLogin.java
> ‑‑‑‑‑‑‑‑‑‑‑‑
>
> Thanks/Ajay


0 Likes
avasisht Absent Member.
Absent Member.

Re: GroupWise SOAP calls are not working with JDK 1.8

Preston,

Do you think following snippets is ok for login or it is missing any property?

LoginRequest _loginRequest = new LoginRequest();
NameAndEmail _nameAndEmail = new NameAndEmail();


//Using previous gwws.jar
//m_loginResponse = m_gwservice.loginRequest((Authentication) ptLogin, "en", new BigDecimal(1.0), "Java Application", true, false);

_loginRequest.setAuth((Authentication) ptLogin);
_loginRequest.setLanguage("en");
_loginRequest.setApplication("Java Application");
_loginRequest.setVersion(new BigDecimal(1.0));
_loginRequest.setUserid(true);
_loginRequest.setSystem(false);
m_loginResponse = m_gwservice.loginRequest(_loginRequest);

And for logout request how will I pass the user session?

Original code was m_gwservice.logoutRequest( m_loginResponse.getSession(), false );


Thanks for all your help.

Thanks/Ajay
0 Likes
Anonymous_User Absent Member.
Absent Member.

Re: GroupWise SOAP calls are not working with JDK 1.8

Sorry, I need to see the SOAP trace.

(Programs do funny things at times when generating SOAP requests.)
I would probably use a higher version than "1.0".
There have been a lot of schema updates since then.
You can look in the top of GroupWise.wsdl to see the different
versions numbers and when the version of the schema was first available.

If you don't need to connect to old versions of the POA, you might as well
use the version of the schema that corresponds to the agents that you
are using.

Preston


>>>


> Preston,
>
> Do you think following snippets is ok for login or it is missing any
> property?
>
> LoginRequest _loginRequest = new LoginRequest();
> NameAndEmail _nameAndEmail = new NameAndEmail();
>
>
> //Using previous gwws.jar
> //m_loginResponse =
> m_gwservice.loginRequest((Authentication) ptLogin, "en", new
> BigDecimal(1.0), "Java Application", true, false);
>
> _loginRequest.setAuth((Authentication) ptLogin);
> _loginRequest.setLanguage("en");
> _loginRequest.setApplication("Java Application");
> _loginRequest.setVersion(new BigDecimal(1.0));
> _loginRequest.setUserid(true);
> _loginRequest.setSystem(false);
> m_loginResponse = m_gwservice.loginRequest(_loginRequest);
>
> And for logout request how will I pass the user session?
>
> Original code was m_gwservice.logoutRequest(
> m_loginResponse.getSession(), false );
>
>
> Thanks for all your help.
>
> Thanks/Ajay


0 Likes
avasisht Absent Member.
Absent Member.

Re: GroupWise SOAP calls are not working with JDK 1.8

Preston,

I am testing new WSDL with SOAPUI and get code=59944 in response.

Please find below the SOAP request, SOAP response, SOAPUI log and http log.

SOAP Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://schemas.novell.com/2005/01/GroupWise/types" xmlns:met="http://schemas.novell.com/2005/01/GroupWise/methods">
<soapenv:Header>
<typ:gwTrace></typ:gwTrace>
</soapenv:Header>
<soapenv:Body>
<met:loginRequest>
<met:auth>
<typ:username>0995jysm</typ:username>
<typ:password>xyz</typ:password>
</met:auth>
<met:language>en_US</met:language>
<met:version>1.07</met:version>
<!--Optional:-->
<met:application>Java Application</met:application>
<!--Optional:-->
<met:userid>true</met:userid>
<!--Optional:-->
<met:system>false</met:system>
<!--Optional:-->
<met:flags>
<!--Optional:-->
<typ:SSLRequired>false</typ:SSLRequired>
</met:flags>
</met:loginRequest>
</soapenv:Body>
</soapenv:Envelope>


SOAP Response:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gwm="http://schemas.novell.com/2005/01/GroupWise/methods" xmlns:gwt="http://schemas.novell.com/2005/01/GroupWise/types">
<s:Header/>
<s:Body>
<gwm:loginResponse>
<gwm:status>
<gwt:code>59944</gwt:code>
</gwm:status>
</gwm:loginResponse>
</s:Body>
</s:Envelope>


SOAPUI Log:
Wed Oct 17 11:16:34 CDT 2018:DEBUG:Attempt 1 to execute request
Wed Oct 17 11:16:34 CDT 2018:DEBUG:Sending request: POST /soap HTTP/1.1
Wed Oct 17 11:16:35 CDT 2018:DEBUG:Receiving response: HTTP/1.1 200
Wed Oct 17 11:16:35 CDT 2018:DEBUG:Connection can be kept alive indefinitely
Wed Oct 17 11:16:35 CDT 2018:INFO:Got response for [GroupWiseBinding.loginRequest:Request 1] in 204ms (413 bytes)
Wed Oct 17 11:17:09 CDT 2018:DEBUG:Connection closed


HTTP Log:
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> "POST /soap HTTP/1.1[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> "Accept-Encoding: gzip,deflate[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> "Content-Type: text/xml;charset=UTF-8[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> "SOAPAction: "loginRequest"[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> "Content-Length: 1003[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> "Host: 10.1.5.81:7191[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> "Connection: Keep-Alive[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> "User-Agent: Apache-HttpClient/4.1.1 (java 1.5)[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> "[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> "<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://schemas.novell.com/2005/01/GroupWise/types" xmlns:met="http://schemas.novell.com/2005/01/GroupWise/methods">[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> " <soapenv:Header>[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> " <typ:gwTrace></typ:gwTrace>[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> " </soapenv:Header>[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> " <soapenv:Body>[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> " <met:loginRequest>[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> " <met:auth>[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> " <typ:username>0995jysm</typ:username>[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> " <typ:password>xyz</typ:password>[\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> " </met:auth>[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> " <met:language>en_US</met:language>[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> " <met:version>1.07</met:version>[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> " <!--Optional:-->[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> " <met:application>Java Application</met:application>[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> " <!--Optional:-->[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> " <met:userid>true</met:userid>[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> " <!--Optional:-->[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> " <met:system>false</met:system>[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> " <!--Optional:-->[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> " <met:flags>[\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> " <!--Optional:-->[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> " <typ:SSLRequired>false</typ:SSLRequired> [\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> " </met:flags>[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> " </met:loginRequest>[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> " </soapenv:Body>[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:>> "</soapenv:Envelope>"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:<< "HTTP/1.1 200 [\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:<< "Date: Wed, 17 Oct 2018 16:16:34 GMT[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:<< "Server: Windows GroupWise POA 14.2.2 [\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:<< "Content-Type: text/xml; charset=utf-8[\r][\n]"
Wed Oct 17 11:16:34 CDT 2018:DEBUG:<< "Content-Length: 413[\r][\n]"
Wed Oct 17 11:16:35 CDT 2018:DEBUG:<< "Pragma: no-cache[\r][\n]"
Wed Oct 17 11:16:35 CDT 2018:DEBUG:<< "[\r][\n]"
Wed Oct 17 11:16:35 CDT 2018:DEBUG:<< "<?xml version="1.0" encoding="UTF-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gwm="http://schemas.novell.com/2005/01/GroupWise/methods" xmlns:gwt="http://schemas.novell.com/2005/01/GroupWise/types"><s:Header/><s:Body><gwm:loginResponse><gwm:status><gwt:code>59944</gwt:code></gwm:status></gwm:loginResponse></s:Body></s:Envelope>"


Thanks/Ajay
0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.