Menu

#290 Generate pure C works, but C++ fails.

closed-accepted
nobody
None
5
2006-07-25
2006-07-10
Xie Bo
No

Attached please find Profile.wsdl.
Following is log:
-------------------------
C:\>wsdl2h -s -o test_CPP.h Profile.wsdl

** The gSOAP WSDL parser for C and C++ 1.2.8c
** Copyright (C) 2000-2006 Robert van Engelen,
Genivia Inc.
** All Rights Reserved. This product is provided "as
is", without any warranty.

** The gSOAP WSDL parser is released under one of
the following two licenses:
** GPL or the commercial license by Genivia Inc. Use
option -l for more info.

Saving test_CPP.h

Cannot open file 'typemap.dat'
Problem reading type map file typemap.dat.
Using internal type definitions for C++ instead.

Reading file 'Profile.wsdl'

To complete the process, compile with:
soapcpp2 test_CPP.h

C:\>soapcpp2 test_CPP.h

** The gSOAP Stub and Skeleton Compiler for C and
C++ 2.7.8c
** Copyright (C) 2000-2006, Robert van Engelen,
Genivia Inc.
** All Rights Reserved. This product is provided "as
is", without any warranty.

** The gSOAP compiler is released under one of the
following three licenses:
** GPL, the gSOAP public license, or the commercial
license by Genivia Inc.

test_CPP.h(164): parse error
test_CPP.h(168): Syntax error: input before ; skipped
Saving soapStub.h
Saving soapH.h
Saving soapC.cpp
Saving soapClient.cpp
Saving soapClientLib.cpp
Saving soapServer.cpp
Saving soapServerLib.cpp
Saving ProfileSoapBinding.nsmap namespace mapping
table

There were errors:
1 syntax error

C:\>wsdl2h -c -o test_C.h Profile.wsdl

** The gSOAP WSDL parser for C and C++ 1.2.8c
** Copyright (C) 2000-2006 Robert van Engelen,
Genivia Inc.
** All Rights Reserved. This product is provided "as
is", without any warranty.

** The gSOAP WSDL parser is released under one of
the following two licenses:
** GPL or the commercial license by Genivia Inc. Use
option -l for more info.

Saving test_C.h

Cannot open file 'typemap.dat'
Problem reading type map file typemap.dat.
Using internal type definitions for C instead.

Reading file 'Profile.wsdl'

To complete the process, compile with:
soapcpp2 test_C.h

C:\>soapcpp2 test_C.h

** The gSOAP Stub and Skeleton Compiler for C and
C++ 2.7.8c
** Copyright (C) 2000-2006, Robert van Engelen,
Genivia Inc.
** All Rights Reserved. This product is provided "as
is", without any warranty.

** The gSOAP compiler is released under one of the
following three licenses:
** GPL, the gSOAP public license, or the commercial
license by Genivia Inc.

**WARNING**: last output parameter of remote method
function prototype '__ns1__g
et' is a pointer to a char which will only return one
byte: use char** instead t
o return a string (detected at line 158 in test_C.h)

Saving soapStub.h
Saving soapH.h
Saving soapC.c
Saving soapClient.c
Saving soapClientLib.c
Saving soapServer.c
Saving soapServerLib.c
Using ns1 service name: ProfileSoapBinding
Using ns1 service style: document
Using ns1 service encoding: literal
Using ns1 service location:
http://localhost:9080/services/Profile
Using ns1 schema namespace: http://xxx/1
Saving ProfileSoapBinding.get.req.xml sample SOAP/XML
request
Saving ProfileSoapBinding.get.res.xml sample SOAP/XML
response
Saving ProfileSoapBinding.nsmap namespace mapping
table

Compilation successful (1 warning)
-------------------------

The test_CPP.h(164): parse error is for Line 164:
-----------------
//gsoap ns1 service method-style: get document
//gsoap ns1 service method-encoding: get literal
//gsoap ns1 service method-action: get ""
int __ns1__get(
(Line 164) _ns1__getRequest*
_ns1__getRequest, ///< Request parameter
char*
_ns1__getResponse ///< Response parameter
);
-----------------

Discussion

  • Xie Bo

    Xie Bo - 2006-07-10

    Profile.wsdl

     
  • Robert van Engelen

    Logged In: YES
    user_id=354274

    The problem is the parameterOrder attribute in the WSDL, which should not
    be used with doc/lit style services. A fix will be available soon.

    I noticed a bug in wsdl2h, where the char* response parameter (C code)
    should be char**. This will be fixed as well.

     
  • Robert van Engelen

    • status: open --> pending-accepted
     
  • SourceForge Robot

    Logged In: YES
    user_id=1312539

    This Tracker item was closed automatically by the system. It was
    previously set to a Pending status, and the original submitter
    did not respond within 14 days (the time period specified by
    the administrator of this Tracker).

     
  • SourceForge Robot

    • status: pending-accepted --> closed-accepted
     

Log in to post a comment.