calling web services from an iPad app

Hi
i tried to install the Bookstore app that Peter Nevermann produced (very nice for demos, not only for training :slight_smile: ) into an iPad and other simulators (Blackberry and Android). It worked fine for the latter, but not for the iPad.
When doing the multi build i get the following exceptions:

-I/Users/Shared/webMethods/MobileDesigner/Applications/BookstoreApp/Test/Builds/AppleiPad/0.0.1/bedrock/cpp_edit/ src/org/kxml2/io/KXmlParser.cpp -o build/org__kxml2__io__KXmlParser.o
[exec] src/org/kxml2/io/KXmlParser.cpp:1647: error: no ‘void org::kxml2::io::KXmlParser::KXmlParser_globalStaticCreate()’ member function declared in class ‘org::kxml2::io::KXmlParser’
[exec] src/org/kxml2/io/KXmlParser.cpp:1653: error: no ‘void org::kxml2::io::KXmlParser::KXmlParser_globalStaticDestroy()’ member function declared in class ‘org::kxml2::io::KXmlParser’
[exec] make: *** [build/org__kxml2__io__KXmlParser.o] Error 1

is this a bug or is it that i cannot use the kxml parser for iPad apps?

many thanks
Javier

Hi Javier,

I believe the application is including its own copy of the kxml source
code, but Bedrock now supplies this library as one our pre-compiled libs
for some platforms, so it’s got a dual-declaration conflict going on.

I haven’t had the opportunity to review the project yet, but I think
some simple tweaks in the project xmls (or better automated fixes for
this kind of problem) can be used to work around this issue.

Regards,

Nick.

Hi
After making a small change in the defaults.xml (thanks to Peter Nevervann), I was able to build & install the app in an iPad.

Below the snippet I changed
Many thanks for the help
Javier

<!-- Android has xmlpull built into it --> 
                <if> 
                        <isset property="bedrock.buildscript.build.executable"/> 
                        <then> 
                                <switch value="${selected.platform}"> 
                                        <case value="android-apk"> 
                                                <property name="remove.kxml" value="true"/> 
                                        </case> 
                                        <case value="iphone-app"> 
                                                <property name="remove.kxml" value="true"/> 
                                        </case> 
                                        <default/> 
                                </switch> 
                        </then> 
                </if> 
        <property name="remove.kxml" value="false"/> 

        <if> 
            <equals arg1="${remove.kxml}" arg2="true"/> 
            <then> 
                        <path id="project.runtime.project.src.path"> 
                                <pathelement path="${project.dir.root}/src"/> 
                                <!-- 
                                 <pathelement path="${project.dir.root}/libs/kxml2"/> 
                                 --> 
                        </path> 
            </then> 
            <else> 
                        <path id="project.runtime.project.src.path"> 
                                <pathelement path="${project.dir.root}/src"/> 
                                <pathelement path="${project.dir.root}/libs/kxml2"/> 
                                <pathelement path="${project.dir.root}/libs/xmlpull"/> 
                        </path> 
            </else> 
        </if>