0
votes

The application with webservice (C#) access works well on MAC (iphone simulator), but doesn't work on iphone (release and debug mode). It happens when I tryed to create a new webservice instance.

        "YNSMS.ynSMSws.Service1 wsSMS = new YNSMS.ynSMSws.Service1();" 

Could it be a Monotouch iphone runtime bug ? Is there any way to solve it?

Loaded assembly: /private/var/mobile/Applications/47D2DA1C-28BA-43C8-BCF0-919D307C60EB/YNSMS.app/monotouch.dll Loaded assembly: /private/var/mobile/Applications/47D2DA1C-28BA-43C8-BCF0-919D307C60EB/YNSMS.app/Mono.Security.dll Loaded assembly: /private/var/mobile/Applications/47D2DA1C-28BA-43C8-BCF0-919D307C60EB/YNSMS.app/System.dll Loaded assembly: /private/var/mobile/Applications/47D2DA1C-28BA-43C8-BCF0-919D307C60EB/YNSMS.app/System.Xml.dll Loaded assembly: /private/var/mobile/Applications/47D2DA1C-28BA-43C8-BCF0-919D307C60EB/YNSMS.app/System.Web.Services.dll Loaded assembly: /private/var/mobile/Applications/47D2DA1C-28BA-43C8-BCF0-919D307C60EB/YNSMS.app/AddressBookExample.exe Thread started: Resolved pending breakpoint at 'MainView.xib.cs:70' to Void AddressBookExample.MainView:ExecutaBotao ():0. * Assertion at ../../../../mono/metadata/marshal.c:4115, condition `method' not met Stacktrace:

at (wrapper managed-to-native) System.MonoCustomAttrs.GetCustomAttributesInternal (System.Reflection.ICustomAttributeProvider,System.Type,bool) <0xffffffff> at System.MonoCustomAttrs.GetCustomAttributesBase (System.Reflection.ICustomAttributeProvider,System.Type) <0x0006c> at System.MonoCustomAttrs.GetCustomAttributes (System.Reflection.ICustomAttributeProvider,bool) <0x00037> at System.Reflection.MonoField.GetCustomAttributes (bool) <0x00023> at System.Xml.Serialization.XmlAttributes..ctor (System.Reflection.ICustomAttributeProvider) <0x0009f> at System.Xml.Serialization.XmlReflectionImporter.GetReflectionMembers (System.Type) <0x004ef> at System.Xml.Serialization.XmlReflectionImporter.ImportClassMapping (System.Xml.Serialization.TypeData,System.Xml.Serialization.XmlRootAttribute,string) <0x001df> at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Xml.Serialization.TypeData,System.Xml.Serialization.XmlRootAttribute,string) <0x000e3> at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Type,System.Xml.Serialization.XmlRootAttribute,string) <0x0005b> at System.Xml.Serialization.XmlReflectionImporter.ImportListMapping (System.Xml.Serialization.TypeData,System.Xml.Serialization.XmlRootAttribute,string,System.Xml.Serialization.XmlAttributes,int) <0x00743> at System.Xml.Serialization.XmlReflectionImporter.ImportListMapping (System.Type,System.Xml.Serialization.XmlRootAttribute,string,System.Xml.Serialization.XmlAttributes,int) <0x0005b> at System.Xml.Serialization.XmlReflectionImporter.CreateMapMember (System.Type,System.Xml.Serialization.XmlReflectionMember,string) <0x0093b> at System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping (string,string,System.Xml.Serialization.XmlReflectionMember[],bool,bool,bool,System.Xml.Serialization.XmlMappingAccess) <0x00097> at System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping (string,string,System.Xml.Serialization.XmlReflectionMember[],bool,bool,bool) <0x0006b> at System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping (string,string,System.Xml.Serialization.XmlReflectionMember[],bool,bool) <0x0005b> at System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping (string,string,System.Xml.Serialization.XmlReflectionMember[],bool) <0x0004b> at System.Web.Services.Protocols.SoapMethodStubInfo..ctor (System.Web.Services.Protocols.TypeStubInfo,System.Web.Services.Protocols.LogicalMethodInfo,object,System.Xml.Serialization.XmlReflectionImporter,System.Xml.Serialization.SoapReflectionImporter) <0x006bb> at System.Web.Services.Protocols.SoapTypeStubInfo.CreateMethodStubInfo (System.Web.Services.Protocols.TypeStubInfo,System.Web.Services.Protocols.LogicalMethodInfo,bool) <0x0016b> at System.Web.Services.Protocols.TypeStubInfo.BuildTypeMethods () <0x00127> at System.Web.Services.Protocols.TypeStubInfo.Initialize () <0x00023> at System.Web.Services.Protocols.LogicalTypeInfo.GetTypeStub (string) <0x00167> at System.Web.Services.Protocols.TypeStubManager.GetTypeStub (System.Type,string) <0x0002f> at System.Web.Services.Protocols.SoapHttpClientProtocol..ctor () <0x0003b> at YNSMS.ynSMSws.Service1..ctor () at AddressBookExample.MainView.ExecutaBotao (object,System.EventArgs) [0x00000] in /Volumes/STORAGE/cafexpto/Marcelo/sistemas_mac/MonoTouch/AddresBook/AddressBookExample/MainView.xib.cs:70 at MonoTouch.UIKit.UIBarButtonItem/Callback.Call (MonoTouch.Foundation.NSObject) <0x0005b> at (wrapper runtime-invoke) object.runtime_invoke_dynamic (intptr,intptr,intptr,intptr) <0x000c3> at (wrapper managed-to-native) MonoTouch.UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) <0xffffffff> at MonoTouch.UIKit.UIApplication.Main (string[],string,string) <0x000e0> at MonoTouch.UIKit.UIApplication.Main (string[]) <0x00023> at AddressBookExample.Application.Main (string[]) [0x00000] in /Volumes/STORAGE/cafexpto/Marcelo/sistemas_mac/MonoTouch/AddresBook/AddressBookExample/Main.cs:14 at (wrapper runtime-invoke) object.runtime_invoke_dynamic (intptr,intptr,intptr,intptr) <0x000c3>

Native stacktrace:

0   AddressBookExample                  0x0003ca58 mono_handle_native_sigsegv + 396
1   AddressBookExample                  0x0006c13c sigabrt_signal_handler + 124
2   libSystem.B.dylib                   0x31a2584b _sigtramp + 42
3   libSystem.B.dylib                   0x31a279a3 kill + 10
4   libSystem.B.dylib                   0x31a27995 raise + 16
5   libSystem.B.dylib                   0x31a3c641 abort + 40
6   AddressBookExample                  0x001b0a0c g_logv + 248
7   AddressBookExample                  0x001b0a64 g_log + 52
8   AddressBookExample                  0x000e5a5c mono_marshal_get_runtime_invoke + 108
9   AddressBookExample                  0x0000b41c mono_jit_runtime_invoke + 624
10  AddressBookExample                  0x0011f054 mono_property_set_value + 68
11  AddressBookExample                  0x001453e4 create_custom_attr + 1212
12  AddressBookExample                  0x0014610c mono_custom_attrs_construct + 408
13  AddressBookExample                  0x001479a0 mono_reflection_get_custom_attrs_by_type + 92
14  AddressBookExample                  0x000c82bc custom_attrs_get_by_type + 80
15  AddressBookExample                  0x004e8fd4 wrapper_managed_to_native_System_MonoCustomAttrs_GetCustomAttributesInternal_System_Reflection_ICustomAttributeProvider_System_Type_bool + 80

* Assertion: should not be reached at ../../../../mono/mini/mini-darwin.c:258

1
You should probably send this to monotouch's maillist, where their developers will be able to take a look: lists.ximian.com/mailman/listinfo/monotouch – Eduardo Scoz
This is problem with trying to write iPhone apps with things like MonoTouch... There are so many extra layers on top of what you are actually writing that the problem could be anywhere. It could be in your code, it could be in the MonoTouch API, it could have something to do with the toolchain, the process of compiling the code you write down into native iPhone code... And the result is a problem that is hidden beneath all of this... Good luck... – Jasarien

1 Answers

0
votes

My guess is that this will have been something to do with the MonoTouch linker removing some of your XML fields - try adding the Preserve(AllMembers=true) attribute to the generated web service code.